this[] 指的是什么内容 讨论

  代码

  theMonths = new MakeArray(12)

  // load array with English month names

  function MakeArray(n) {

  this[0] = "anuary"

  this[1] = "February"

  this[2] = "March"

  this[3] = "April"

  this[4] = "May"

  this[5] = "June"

  this[6] = "July"

  this[7] = "August"

  this[8] = "September"

  this[9] = "October"

  this[10] = "November"

  this[11] = "December"

  this.length = n

  return this

  }

  这个是Java Script Bible 4th Edition上面的一段代码.

  这种this的用法 是怎么个意思?javascript的this还有匿名obj的作用?

  这样的用法只能限于函数内部吧

  抛出异常的爱 写道

  这样就可以在别的地方用

  代码

  var my = new Object ();

  my.MakeArray= MakeArray;

  my.MakeArray(10);

  的确看到一个类似的用法

  代码

  // create basic array

  theMonths = new MakeArray(12)

  如果this[]的用法,表示this是一个array object

  那么

  代码

  this.length = n

  这个似乎让this又成为了一个拥有一个array object 和一个 int 变量的 object了

  this于是看上去像某个匿名class的object了

  是否可以这样理解呢?