Javascript delete 引用类型对象


Posted in Javascript onNovember 01, 2013

如下面例子:

var testVar = {
            a : {
                test : 1
            }
        },
            test1 = {},
            test2 = {};        test1.a = testVar.a;
        test2.a = testVar.a;
/*
        delete test1.a;
        console.log(test1.a); // undefined
        console.log(test2.a); // Object {test: 1}
        console.log(testVar.a); // Object {test: 1}
*/
        delete testVar.a;
        console.log(test1.a); // Object {test: 1}
        console.log(test2.a); // Object {test: 1}
        console.log(testVar.a); // undefined

通过测试可以看出,javascript的delete删除的对象如果是一个引用类型,那它删除的不是引用的对象,而是指向该引用对象的指针。因此,即使 delete testVar.a ,test1.a指向的对象仍然没有删除。

更多关于javascript delete关键字的原理,推荐:

http://perfectionkills.com/understanding-delete/

翻译版本:

http://www.ituring.com.cn/article/7620

Javascript 相关文章推荐
jquery购物车实时结算特效实现思路
Sep 23 Javascript
php读取sqlite数据库入门实例代码
Jun 25 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
js Date()日期函数浏览器兼容问题解决方法
Sep 12 Javascript
Node.js使用Express.Router的方法
Nov 14 Javascript
JS中移除非数字最多保留一位小数
May 09 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 Javascript
vue-cli中安装方法(图文详细步骤)
Dec 12 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
理解Javascript闭包
Nov 01 #Javascript
Javascript 命名空间模式
Nov 01 #Javascript
完美解决AJAX跨域问题
Nov 01 #Javascript
javascript中创建对象的几种方法总结
Nov 01 #Javascript
如何学习Javascript入门指导
Nov 01 #Javascript
js动态设置鼠标事件示例代码
Oct 30 #Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 #Javascript
You might like
第十四节--命名空间
2006/11/16 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
python实现简单的文字识别
2018/11/27 Python
Python调用服务接口的实例
2019/01/03 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
python实现的自动发送消息功能详解
2019/08/15 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
法学毕业生自我鉴定
2013/11/08 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
联谊活动总结范文
2015/05/09 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技