javascript中的值类型引用类型对象 [英] value type reference type object in javascript
本文介绍了javascript中的值类型引用类型对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
javascript对象是基于值还是基于引用?例如:
Are javascript objects value based or reference based? For example:
obj1.list =new array();
// ------ populate list
obj2.list = obj1.list
浏览器是否为obj2.list制作了obj1.list的不同副本,或obj2.list只是对obj1.list的引用?
Does the browser make different copy of the obj1.list for obj2.list, or is obj2.list just a reference to obj1.list?
推荐答案
JavaScript对象(以及扩展名:数组,正则表达式,日期,非原始字符串/数字/布尔等)等式和赋值是基于引用的:
JavaScript Objects (and by extension: arrays, regexes, dates, non-primitive strings/numbers/booleans etc.) equality and assignment are reference based:
{a:'a'} == {a:'a'} // false
但是:
var myObject = {a:'a'};
var myObject2 = myObject;
myObject == myObject2 // true
此外:
myObject.b = 'b';
console.log(myObject2.b); // Logs: "b"
这篇关于javascript中的值类型引用类型对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文