JavaScript通过了吗?
这个问题在这里已经有了答案:
对象通过引用传递,而基元通过值传递。
请注意,该原始值包括以下内容:
undefined
null
您可以在MDN上的函数中找到更多的细节。
它实际上使用了一个名为call的评估策略。
所有类型都按值传递。 没有引用传递,否则你可以修改在函数的调用位置声明的变量的内容。 通常人们会说在JS中通过引用传递对象。 它们实际上是通过共享传递的,这意味着您可以修改对象的属性,并且这些更改对于那些持有对该对象的引用的人可见,但引用本身不可修改。
除原始物之外的所有东西都通过参考传递
几乎所有的JavaScript都是一个对象。 正如Sirko所说,物体通过参考传递。
所以函数/数组/对象都是通过引用传递的,无论你是在谈论附加到var的根对象,还是你在谈论一个对象的属性/方法,链接3个点深,或者你在谈论一个数组中的对象,作为对象的属性,数组中的对象...
链接地址: http://www.djcxy.com/p/20975.html上一篇: Is JavaScript pass