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 支持ie和firefox杰奇翻页函数
Jul 22 Javascript
Dojo 学习要点
Sep 03 Javascript
热点新闻滚动特效的js代码
Aug 17 Javascript
javascript Array.prototype.slice的使用示例
Nov 14 Javascript
js给selected添加options的方法
May 06 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
jQuery插件制作的实例教程
May 16 Javascript
从零学习node.js之详解异步控制工具async(八)
Feb 27 Javascript
javascript实现简易的计算器
Jan 17 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
uniapp开发小程序的经验总结
Apr 08 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
php强制下载类型的实现代码
2011/04/21 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
js获取图片长和宽度的代码
2009/11/24 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
JavaScript学习笔记之ES6数组方法
2016/03/25 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
Python字符串和文件操作常用函数分析
2015/04/08 Python
python 日期操作类代码
2018/05/05 Python
django加载本地html的方法
2018/05/27 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
Python正则表达式学习小例子
2020/03/03 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
仓管岗位职责范本
2014/02/08 职场文书
合作意向书模板
2014/03/31 职场文书