在下面的代码中,有人可以告诉我isSharp
在global context
中的情况。我跟随约翰的高级JS。
http://ejohn.org/apps/learn/#24
function katana(){
this.isSharp = true;
}
katana();
alert(isSharp);
assert( isSharp === true, "A global object now exists with that name and value." );
var shuriken = {
toss: function(){
this.isSharp = true;
}
};
shuriken.toss();
assert( shuriken.isSharp === true, "When it's an object property, the value is set within the object." );
答案 0 :(得分:3)
在未在对象上执行的代码中 - this
引用全局上下文。
这是this
如何在某种语言中运作的一部分。
注意 - 如果你使用严格模式,你应该这样做 - 这会引发一个TypeError。
否则如果thisArg为null或未定义,则将ThisBinding设置为全局对象。