gpt4 book ai didi

javascript - 在这种情况下是否需要 new 运算符来创建新对象?

转载 作者:行者123 更新时间:2023-12-02 19:30:11 24 4
gpt4 key购买 nike

我正在浏览这个演示文稿http://channel9.msdn.com/Events/MIX/MIX11/FRM08 。史蒂夫·安德森使用了一个具有与下面类似的结构的函数。

function o(p) {
return { n: p };
}

从使用的函数创建对象

new o(123) 

我想在这种情况下不需要 new 运算符。你可以简单地写。

o(123)

这两种方式有什么区别?

最佳答案

这段代码没有多大意义。如果在不使用 new 关键字的情况下使用该函数,它将创建并返回单个对象。如果它与 new 关键字一起使用,如示例中所示,则会创建两个对象,并丢弃在函数内创建的对象。

如果从函数返回一个对象,则不应使用 new 关键字。应该与 new 关键字一起使用的函数不会返回对象,而是使用 this 关键字在已创建的对象中设置属性:

function o(p) {
this.n = p;
}

关于javascript - 在这种情况下是否需要 new 运算符来创建新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586585/

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