假设:
var table = new Array(10);
在java脚本中这意味着什么new
?
当我写:
var table = Array(10)
它给了我相同的结果。
答案 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关键字通常在原型中用于创建具有类的对象的新实例。