本文实例讲述了JavaScript对象引用与赋值。分享给大家供大家参考,具体如下:
<script type="text/javascript"> //例子一: 引用 var myArrayRef = new Array(0,1,2); //创建数组对象 var mySeconArrayRef = myArrayRef; // 对象复制. myArrayRef[0] = 100; // 修改元素值 alert(mySeconArrayRef[0]); /** * 输出 100; 学过其它语言的都应该知道这里应该输出的是0 为什么输出的是100呢"color: #ff0000">注意:对象的子对象也是引用,所以遍历赋值的时候要判断,子元素是否是对象,如果子元素是对象,则继续对子元素进行遍历赋值。转换赋值方式:
var data = {a:1,b:2,c:3,d:[0,1,2,3]}; var str = JSON.stringify(data); var data1 = $.parseJSON(str); //$为jQuery对象需要引入jQuery包 data1["e"] = 4; data1["d"][0] = 11; console.log(data); console.log(data1);输出结果:
{a: 1, b: 2, c: 3, d: [0,1,2,3]} {a: 1, b: 2, c: 3, d: [11,1,2,3], e: 4}相互没有影响
当对象引用做为函数参数传递时候,依然会相互影响,切记,如下示例:
var data = {a:1,b:2,c:3,d:{q:4,w:5,e:6}}; var data1 = data; function con(data2){ data2["r"] = 5; console.log(JSON.stringify(data2)); } con(data1); console.log(JSON.stringify(data));输出结果:
{"a":1,"b":2,"c":3,"d":{"q":4,"w":5,"e":6},"r":5} {"a":1,"b":2,"c":3,"d":{"q":4,"w":5,"e":6},"r":5}对象引用赋值后,如果将对象置空,相互间是不受影响的,如下:
var arr = {"a":"1","b":"2"}; var arr1 = arr; arr = {}; arr["a"] = 2; console.log(arr1); console.log(arr);输出结果:
{"a":"1","b":"2"},{"a":2}更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。