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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
Jan 24 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
node.js WEB开发中图片验证码的实现方法
Jun 03 Javascript
jQuery CSS()方法改变现有的CSS样式表
Sep 09 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
May 13 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
Apr 13 Javascript
vue实现点击展开点击收起效果
Apr 27 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 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中文分词 自动获取关键词介绍
2012/11/13 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
Python实现115网盘自动下载的方法
2014/09/30 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
浅谈python迭代器
2017/11/08 Python
python版本五子棋的实现代码
2018/12/11 Python
Python中正则表达式的用法总结
2019/02/22 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
班组长的岗位职责
2013/12/09 职场文书
后备干部考察材料
2014/02/12 职场文书
文案策划求职信
2014/03/18 职场文书
小组口号大全
2014/06/09 职场文书
心理学专业求职信
2014/06/16 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers