this.attr1; 调用此方法对象的attr1属性
    var attr2; 代表局部变量attr2

解决方案 »

  1.   


    function ss(){
    a = new A();
    alert(a.a1);
    alert(a.a2);}function A(){
    this.a1='1';
    var a2='1';
    }
    你试试上面的SS就知道.
    a2只是在A函数对象作用域的一个变量.但是a1是函数对象A的属性.
      

  2.   

    还有 
    function A(){
        this.attr1;
        var attr2;
     
        attr2 : "value"///这个呢
        //两个有什么区别呀
    }
      

  3.   

    attr2 : "value"
    是JSON的赋值形式具体你可以去看下
    www.json.org
      

  4.   

    this.attr1 = "value1" 相当于public String attr1 = "value1"
    var attr2 = "value2" 相当于private String attr2 = "value2"
    attr3: "value3" 相当于private String attr3 = "value3"
    这跟JSON没什么关系,只是js的一种写法而已,2和3意思是一样的
      

  5.   

    原型的声明形如:function A(){
      this.attr1 = "value1"; 
      var attr2 = "value2";
      attr3: "value3" 
    }
    A.prototype.attr4 = "value4";//这个才能称为原型属性
      

  6.   


    <script type="text/javascript">function A(){
        this.attr1 = 'x';//当A执行时,this.attr1将会成为A调用对象的属性,当A发生在实例化时,this.attr1将成为A实例的属性
        var attr2 = 'y';//A函数体内的局部变量
        //两个有什么区别呀
    }A();//执行alert(attr1);var b = new A;//实例化alert(b.attr1);var c = {
        attr2:"value"///这个呢,对象属性,属性:属性值
    };alert(c.attr2);</script>