function test(b){
this.b=b;
.....
}
上面代码b是直接可以使用的,为什么要用this.b=b?用意何在?

解决方案 »

  1.   

    这里的其实是定义了一个 test类  this.b = b   为该类添加了一个b的属性 并将test(b)中的b的值赋给 test类的属性b
      

  2.   

    this是指当前的context(上下文)对象(默认是指window对象)
      

  3.   


    如果只是单纯调用test函数,无需 new test,那是不是就没必要用this了?
      

  4.   

    要看你的代码怎么写
    var s = 'test';
    function test(b){
      this.b=b;
    }
    test(s); //结果是window.b为'test'
    var t = new test(s); //结果是t.b为'test'
    意义不一样
      

  5.   

    参考
    http://www.cnblogs.com/sanshi/archive/2009/07/08/1519251.html
      

  6.   

    function test(b){
    this.b=b;
    this.method=function(){
     document.write(this.b);
    }
    }
    var t=new test('who');
    t.method();
    }
      

  7.   

    这里的this.b其实不是传来的参数b,其实this.b的b就是一个属性。其实js中函数就是相当于面向对象语言中的类。
      

  8.   

    var s = 'test';
    function test(b){
      this.b=b;//this.a=b;这里写a那么a的结果就是test
    }
    test(s); //结果是window.b为'test'
    var t = new test(s); //结果是t.b为'test'