关键字new在JavaScript中意味着什么?

时间:2015-12-10 00:10:33

标签: javascript

假设:

var table = new Array(10);

在java脚本中这意味着什么new

当我写:

var table = Array(10)

它给了我相同的结果。

2 个答案:

答案 0 :(得分:0)

new会将函数的上下文更改为空白对象,然后返回到调用代码。

function noNewTest(){
    // this === window/execution context
}

function newTest(){
    // this === {}
}

var test;

test = new newTest(); // test === newTest object instance even though we didn't return anything from the newTest function
test = noNewTest(); // test === undefined because we didn't use new and didn't return anything from noNewTest

另请注意,无论您从构造函数返回什么,都将覆盖new返回的内容。

哦,那个副本比我更深入地解释了它。去看看帽子。

答案 1 :(得分:0)

'new'关键字用于创建js实体的 new 实例。例如: var tableOne = [1,2,3]; var tableTwo = new Array(1,2,3);

将产生相同的结果,但tableOne只是将三个数字的数组分配给tableOne名称空间,而tableTwo使用新的Array()创建一个全新的数组,并为tableTwo名称空间分配相同的值。 new关键字通常在原型中用于创建具有类的对象的新实例。