gpt4 book ai didi

javascript - 为什么内联实例创建行为不同?

转载 作者:数据小太阳 更新时间:2023-10-29 04:35:27 25 4
gpt4 key购买 nike

考虑这段代码:

function Foo() {
}

Foo.prototype.alert = function() {
alert(this);
}

(new Foo()).alert();

执行时(在 jsfiddle 中),警报显示“this”是窗口对象。将最后一行更改为:

var foo = new Foo();
foo.alert();

按预期工作。

为什么不同?

最佳答案

你的代码实际上是:

function Foo() {
}

Foo.prototype.alert = function() {
alert(this);
}(new Foo()).alert();

因为少了分号,加个分号就可以正常运行了。

关于javascript - 为什么内联实例创建行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com