JavaScript:古代代码使用' new'关键词。为什么?

时间:2015-01-14 16:22:00

标签: javascript constructor

我想我在JS开发方面仍然相对较新,并且在对古代JS代码进行一些重构时(证据:那里仍然使用' with'语句),我发现了以下内容:

var result = new {
    key: 'value'
    // etc...
}

为什么使用new关键字?这个与以下之间有区别吗?

var result = {
    key: 'value'
    // etc...
}

1 个答案:

答案 0 :(得分:0)

在浪费了一段时间研究这个并等着看是否有人知道这些先前的开发者在做什么之后,我决定自己回答。

来自位于here的单独堆栈问题,这似乎有点相关:

  

它会创建一个新对象。这个对象的类型就是对象。

因此,无论它是在旧版浏览器中运行还是其他任何内容, 该片段都是创建新object的脱节方式。现代浏览器(Chrome)在遇到这种情况时会抛出语法错误,所以如果它曾经有效,那么现在就不行了。