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 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
15条JavaScript最佳实践小结
Aug 09 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
JQuery显示隐藏DIV的方法及代码实例
Apr 16 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
Oct 27 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 Javascript
小程序实现选择题选择效果
Nov 04 Javascript
vue router 跳转时打开新页面的示例方法
Jul 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
一篇不错的PHP基础学习笔记
2007/03/18 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
JS中style属性
2006/10/11 Javascript
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
xtree.js 代码
2007/03/13 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
如何利用Fabric自动化你的任务
2016/10/20 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
面向对象概念面试题(.NET)
2016/11/04 面试题
优秀实习自我鉴定
2013/12/04 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
解约证明模板
2015/06/19 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
详解Javascript实践中的命令模式
2021/05/05 Javascript