位置: 编程技术 - 正文

Javascript中的delete操作符详细介绍(JavaScript中的数据类型分为两大类)

编辑:rootadmin

一、变量

说到javascript中的delete操作符,还是首先要搞清楚javascript中的变量和属性之间的关系。

javascript中,变量和对象属性关系非常微妙,甚至可以很多时候会被等同起来,因为 javascript 在执行脚本之前会创建一个global对象,在浏览器中就是window对象,所有的全局变量都是这个global对象的属性,执行函数时也会创建一个activation对象,所有的局部变量都是这个activation对象的属性。这些可以大家可以去了解一下javascript作用域和闭包。

似乎变量就等同于对象属性,其实不然,至少对于delete操作符来说还是不一样的。我的理解是变量声明是必须通过 var 语句来完成的,未通过var 语句声明的全局变量都是都是window对象的属性。这样就很容易的理解变量和对象属性的关系了。

二、delete操作符

delete操作符是用来删除对象属性的。对于引用类型的值,它也是删除对象属性的本身,不会删除属性指向的对象。如果有疑问可以看看基本类型和引用类型的值,或者测试下面的代码:

另外,delete o.x 也可以写作 delete o["x"],两者效果相同。

三、变量是不能删除的

通过var声明的变量和通过function声明的函数拥有dontdelete特性,是不能被删除。未通过var声明的全局变量(全局对象的属性)

四、原型中声明的属性和对象自带的属性无法被删除

原型prototype中声明的属性和对象自带的属性(其实这些属性也是在原型prototype中的)可以认为是带有dontdelete的特性的,无法被删除。例如

五、eval语句下的几个例外

eval执行的代码中,通过var声明的变量虽然与正常的var声明变量同属于global对象,但它们不具有dontdelete特性,能被删除。但是eval的代码中的函数内通过var定义的变量具有dontdelete,不能被删除。

六、delete的返回值

delete是普通运算符,会返回true或false。当被delete的对象的属性存在并且拥有dontdelete时 返回false,否则返回true。 这里的一个特点就是,对象属性不存在时也返回true,所以返回值并非完全等同于删除成功与否。

推荐整理分享Javascript中的delete操作符详细介绍(JavaScript中的数据类型分为两大类),希望有所帮助,仅作参考,欢迎阅读内容。

Javascript中的delete操作符详细介绍(JavaScript中的数据类型分为两大类)

文章相关热门搜索词:JavaScript中的方法名不区分大小写,JavaScript中的变量名不区分大小写,JavaScript中的变量名不区分大小写,JavaScript中的方法名不区分大小写,JavaScript中的this指向,JavaScript中的变量名不区分大小写,JavaScript中的变量名不区分大小写,JavaScript中的变量名不区分大小写,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript动态引用CSS文件的2种方法介绍 最近做一个项目,需要javascript动态插入样式,结果以前的方法失效了!查了2个小时的原因竟然是自己手贱,这个最后再说!javascript插入样式在前端开

js中的caller和callee属性介绍和例子 一、caller返回一个对函数的引用,该函数调用了当前函数。functionName.callerfunctionName对象是所执行函数的名称。说明对于函数来说,caller属性只有在函数

ECMAScript6的新特性箭头函数(Arrow Function)详细介绍 箭头函数是ECMAScript6最受关注的更新内容之一。它引入了一种用「箭头」(=)来定义函数的新语法,它…它碉堡了~。箭头函数与传统的JavaScript函数主要

本文链接地址:https://www.jiuchutong.com/biancheng/370155.html 转载请保留说明!

上一篇:结合代码图文讲解JavaScript中的作用域与作用域链(代码结构说明书)

下一篇:Javascript动态引用CSS文件的2种方法介绍(js动态引入css文件)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络