不要把JavaScript去跟Java对应比较,它们除了关键字相同或相似外,无可比之处。

解决方案 »

  1.   

    两种思维,一个面向过程,一个是面向对象,
    对应到JAVA中象内部类
    不过象楼上说的和JAVA没什么关系
      

  2.   

    调用内部函数时我看你是想得到this.a这个结果的,但结果却得到了undefined,原因是在:this.boo = function() {   
            foo();   //在这里
            this.foo();   
        } 改成下面就应该是你想得到的结果吧?
    ======================================
    function A(_a) {   
        var a = _a;   
        this.a = "this." + _a ;   
        this.foo = function() {   
            alert( "this.foo call:\n" + "a=" + a + "\nthis.a=" + this.a );   
        }   
        function foo() {   
            alert( "foo call:\n" + "a=" + a + ",this.a=" + this.a );   
        }   
        this.boo = function() {   
            foo.call(this);   
            this.foo();   
        }   
    }   
      
        var a1 = new A("a1");   
        var a2 = new A("a2");   
        a1.foo();   
        a1.boo();   
        alert("----------------------");       
        a2.foo();   
        a2.boo();