(function(value) {
this.value = value;
$('.some-elements').each(function(elt){
elt.innerHTML = this.value; // possibly undefined (Why?)
});
})(2);
有人可以在上面的代码中解释'this'的值吗?'this'内部的匿名关闭函数
我的理解:
this.value = value // Line 2
- 在这里这指的是全局对象 elt.innerHTML = this.value; // line 4
- 这是为什么 '可能' 不确定的。请解释。
编辑:顺便说一句我已经仔细阅读了解释“这”在此(How does the "this" keyword work?)后(从那里我得到了上面的代码)
'this'与闭包无关,或者函数定义的方式 - 它只受函数调用方式的影响。 – user2246674 2013-04-30 16:54:17
我明白了,但我只是从链接的帖子中复制了该行 – 2013-04-30 16:56:00
还应该阅读链接的帖子/答案 - 接受的答案包含非常详尽的解释。然后它就成了一个问题:“为什么ThisBinding不像我预期的那样?” - 为此,请阅读*调用回调的方法的文档。在这种情况下,这将是['.each()'](http://api.jquery.com/each/) – user2246674 2013-04-30 16:56:48