JavaScript对象引用与赋值实例详解

本文实例讲述了JavaScript对象引用与赋值。分享给大家供大家参考,具体如下:

rush:js;">

如果真要复制对象互不影响,则要通过转换赋值或者遍历key:value来复制你中的方法属性

注意:对象的子对象也是引用,所以遍历赋值的时候要判断,子元素是否是对象,如果子元素是对象,则继续对子元素进行遍历赋值。

转换赋值方式:

rush:js;"> var data = {a:1,b:2,c:3,d:[0,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);

输出结果:

rush:js;"> {a: 1,b: 2,c: 3,d: [0,3]} {a: 1,d: [11,3],e: 4}

相互没有影响

当对象引用做为函数参数传递时候,依然会相互影响,切记

,如下示例:

rush:js;"> var data = {a:1,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));

输出结果:

rush:js;"> {"a":1,"b":2,"c":3,"d":{"q":4,"w":5,"e":6},"r":5} {"a":1,"r":5}

对象引用赋值后,如果将对象置空,相互间是不受影响的

,如下:

rush:js;"> var arr = {"a":"1","b":"2"}; var arr1 = arr; arr = {}; arr["a"] = 2; console.log(arr1); console.log(arr);

输出结果:

rush:js;"> {"a":"1","b":"2"},{"a":2}

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...