javascript在数组推送上会发生什么?
因此,我:javascript在数组推送上会发生什么?,javascript,arrays,Javascript,Arrays,因此,我: var something = function () { return 6} var foo = new something(); var arr = [] var arr2 = [] 我做arr2.push(foo)和arr.push(foo) 背景中发生了什么?foo是否复制并放在两个位置?foo只是foo吗?数组中的内容是对foo的引用吗 谢谢。编辑:我看错了。由于使用new调用函数,因此创建了一个新对象。任何对象都是通过引用传递的 var something = fu
var something = function () { return 6}
var foo = new something();
var arr = []
var arr2 = []
我做arr2.push(foo)
和arr.push(foo)
背景中发生了什么?foo是否复制并放在两个位置?foo只是foo吗?数组中的内容是对foo的引用吗
谢谢。编辑:我看错了。由于使用
new
调用函数,因此创建了一个新对象。任何对象都是通过引用传递的
var something = function () { return 6}
var foo = new something();
typeof foo
是一个对象
,因此在本例中,它通过引用传递
var something = function () { return 6}
var foo = new something();
非常确定
foo
是重复的,因为它是一个原语而不是一个对象。编辑:我读错了。由于使用new
调用函数,因此创建了一个新对象。任何对象都是通过引用传递的
var something = function () { return 6}
var foo = new something();
typeof foo
是一个对象
,因此在本例中,它通过引用传递
var something = function () { return 6}
var foo = new something();
非常确定
foo
是重复的,因为它是一个原语而不是一个对象。数组中的内容是对同一事物实例的引用。这可以很容易地检查使用例如铬javascript控制台
如您所见,将新成员
x
添加到arr1[0]
时,它出现在arr2[0]
上,数组中的内容是对某个对象的同一实例的引用。这可以很容易地检查使用例如铬javascript控制台
如您所见,将新成员
x
添加到arr1[0]
将其显示在arr2[0]
谢谢,如果它是一个对象该怎么办?将传递对该对象的引用。谢谢,如果它是一个对象该怎么办?将传递对该对象的引用。