在对象文字中自我调用函数

时间:2014-08-17 22:13:58

标签: javascript object scope closures object-literal

我在对象文字中创建一个依赖于传递'这个'自调用函数内的对象文字的值。一个简单的例子是:

var obj = {
  whoAmI: function(){console.log('I\'m this: ' + this + ' object that exists with it\'s own scope')},

  getThis: (function(self){return self})(this)
}

console.log( obj.whoAmI() ); // shows the value of this as the object literal

console.log( obj.getThis );  // logs the window object to the console

我理解对象文字创造了它自己的一次性范围,但我感到惊讶的是我无法通过这个'这个'从object literal作为参数到匿名函数。

0 个答案:

没有答案