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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
Jul 16 Javascript
JavaScript获取/更改文本框的值的实例代码
Aug 02 Javascript
关于angularJs指令的Scope(作用域)介绍
Oct 25 Javascript
AngularJS开发教程之控制器之间的通信方法分析
Dec 25 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 Javascript
基于axios封装fetch方法及调用实例
Feb 05 Javascript
vue安装和使用scss及sass与scss的区别详解
Oct 15 Javascript
配置一个vue3.0项目的完整步骤
Apr 26 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 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 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
jquery提示 "object expected"的解决方法
2009/12/13 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
angular2中Http请求原理与用法详解
2018/01/11 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
利用python爬取有道词典的方法
2020/12/08 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
使用C#编写创建一个线程的代码
2013/01/22 面试题
生物化学研究助理员求职信
2013/10/09 职场文书
自荐书范文范例
2014/02/13 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
后天观后感
2015/06/08 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python