gpt4 book ai didi

javascript - 使用 "new"声明变量与不使用它有什么区别?

转载 作者:行者123 更新时间:2023-11-28 20:43:41 25 4
gpt4 key购买 nike

我有这段代码:

function Test() {
var i=0;
return {
foo : function() { console.log(++i); },
bar : function(a) { i=i+a;console.log(i)}
}
}
var test1 = Test();
var test2 = new Test();

test1test2 看起来相同,但我的问题是它们之间是否有什么不同?

最佳答案

new 非常适合从构造函数进行实例化。这基本上意味着,形成一个新对象,该对象包含通过构造函数内的 this 引用的所有数据。

如果不使用 newthis 将引用全局对象并破坏全局命名空间 (ES3),否则它将未定义(ES5 严格)。

<小时/>

在此处的特定代码片段中,这并不重要,因为您仍然从 Test() 返回一个新对象。它将始终被使用并分配给 test1test2

关于javascript - 使用 "new"声明变量与不使用它有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858439/

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