Foo 是从窗口全局对象执行的,如下所示:
new Foo(); // false why?
Foo(); // true
function Foo()
{
alert(this == window);
};
但是当我运行这个函数 Foo 代码时,警报消息显示 false,为什么当从全局窗口对象执行 Foo 时会出现这种情况?
最佳答案
这是因为您使用了new
。 new 运算符创建一个新对象,将该对象的原型(prototype)设置为 Foo.prototype,然后调用 Foo,并将 this
设置为等于新创建的对象。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new
关于javascript - 为什么对象 "this"不是全局窗口对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52449324/