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 相关文章推荐
JavaScript 构造函数 面相对象学习必备知识
Jun 09 Javascript
js 创建书签小工具之理论
Feb 25 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
实测jquery data()如何存值
Aug 18 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
May 25 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 Javascript
JavaScript中的this基本问题实例小结
Mar 09 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面向对象全攻略 (五) 封装性
2009/09/30 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
php HTML无刷新提交表单
2016/04/05 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
javascript读写json示例
2014/04/11 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
Python中文件的读取和写入操作
2018/04/27 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Python对excel文档的操作方法详解
2018/12/10 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
历史学专业推荐信
2013/11/06 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
经验交流材料格式
2014/12/30 职场文书
淘宝好评语句大全
2014/12/31 职场文书
投资意向协议书
2015/01/29 职场文书
办公室岗位职责
2015/02/04 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
Pytest中skip skipif跳过用例详解
2021/06/30 Python
golang中的struct操作
2021/11/11 Golang
MySQL分布式恢复进阶
2022/07/23 MySQL