Javascript'添加到数组中的s对象是通过值或引用传递的
Javascript's objects added to array is pass by value or reference?
可能重复:
JavaScript是一种传递引用语言还是传递值语言?
在这个文件中,我有一个对象this.objectA和this.allAs;this.objectA包含一些属性。每次我得到一个新的this.objectA,我都会将它添加到数组this.allA中。当我得到一个新的对象时,我总是重新分配这个对象。
后来我检查了我的数组this.allAs,我发现它正确地存储了不同的this.objectA。为什么这个.objectA被覆盖了,这个.allA里面的对象没有被覆盖?(我希望所有存储的对象都指向同一个this.objectA,但它没有)Javascript是按对象的值传递的???
您必须更加具体地了解您正在做的事情。JavaScript通过引用传递,但如果您在任何地方保存本地副本,并从返回语句中复制这些值,那么您就不再使用引用了——它们不再是指向完全相同对象的指针,这是必然的。
以下是演示传递引用的内容:
Bob = { name : "Bob", age : 32 };
function giveBobTo (obj, bobject) { obj.bob = bobject; }
Billy = {};
Jim = {};
giveBobTo(Billy, Bob);
giveBobTo(Jim, Bob);
Jim.bob.cars_on_lawn = 8;
Billy.bob.cars_on_lawn; // 8;
Bob.cars_on_lawn; // 8;
console.log( "Billy-Bob equals Jim-Bob equals Bob:",
Billy.bob === Jim.bob === Bob); // true
相关文章:
- 引用对象中的通用值
- 使用连字符引用对象的属性名称
- 这在 Object 方法中不引用对象,而是引用函数绑定到的标记
- Javascript对象文字,如何使用“this”来引用对象中的变量
- AngularJS select with ng选项不更新父作用域中的引用对象属性
- 如何在ES6中使用Arrow函数引用对象内部的其他函数
- 调用时可以省略引用对象
- 从函数中引用对象时遇到问题 - Adobe Animate canvas
- 在挖空中引用对象构造函数外部视图模型的属性
- 在 JavaScript 中的回调函数中引用对象
- 从充当事件处理程序的多个方法引用对象属性
- 如何引用对象中的其他节点
- 使用 javascript 通过 ID 正确引用对象
- 使用等效的 Object.indexOf 引用对象中的对象的索引
- Javascript - 事件方法中的引用对象
- 如何避免“this”引用 DOM 元素,并引用对象
- 如何按索引引用对象属性
- 在 AngularJs 中引用对象中的数据
- 如何在没有元素的情况下获取文件引用对象
- 为什么在 JavaScript 中引用对象的不存在属性不会返回引用错误