js中使用delete运算符无法删除的情况
2017-09-27 13:03
323 查看
delete是一元操作符,用来删除对象的属性或者数组元素。返回true或false。
在严格模式中,删除一个不可配置属性会报一个类型错误,在非严格模式,使用delete操作返回false。
在严格模式中,使用delete必须显示指定对象及其属性,否则会报语法错误。
如:
直接在window对象上定义的属性可以通过delete操作符删除:
如:
使用var声明的变量无法删除的原因:使用var语句添加的window属性有一个名为configurable的特性,其值被设置为false。
无法删除的情况: 1. 使用var定义的变量。 2. 内置的对象的属性(不可配置)。 3. function语句定义的函数及参数。
在严格模式中,删除一个不可配置属性会报一个类型错误,在非严格模式,使用delete操作返回false。
在严格模式中,使用delete必须显示指定对象及其属性,否则会报语法错误。
如:
this.x = 1; delete x;//严格模式下报错,应使用delete this.x;
直接在window对象上定义的属性可以通过delete操作符删除:
如:
var name = "a"; window.age = 10; delete window.name;//IE<9时报错,其他浏览器返回false delete window.age;//IE<9时报错,其他浏览器返回true
使用var声明的变量无法删除的原因:使用var语句添加的window属性有一个名为configurable的特性,其值被设置为false。
相关文章推荐
- 解决centos7升级到Python3.6.1之后删除键、上下左右键等无法正常使用的情况
- 关于npm在安装node.js后无法使用的情况
- windows平台下删除注册表后应用程序无法使用的情况
- php ajax error(如果使用纯js,无法返回状态4的情况)
- 在jsp的c标签循环后台对象属性的情况下,使用js提取其中一个id属性使用ajax传到后台删除
- 使用php设置cookies时出现无法删除cookies的情况记录
- Linux中hive无法使用Delete和Backspace删除键
- 在jsp的c标签循环后台对象属性的情况下,使用js提取其中一个id属性使用ajax传到后台删除
- 为什么使用ADO Data控件的Delete方法无法删除DataGrid控件中的数据
- delete 多表删除的使用
- 使用DELETE与TRUNCATE删除表所有行的区别
- [转]添加/删除Windows组件无法选择IIS安装的情况下用IIS安装包安装
- 郁闷,母版页为什么会这样?怎么在使用了母版页的情况下使用js?大家帮忙
- 当使用 Windows Server 2003 中添加或删除程序 " 消息收到 " 无法加载安装库 wbemupgd.dll " 错误
- 安装VS2008、删除VS2005后,无法使用SQL Server 2005的Business Intelligence Development Studio
- 还原Wss3.0内容数据库时遇到:"ComputerName\Microsoft##SSEE 上的 WSS_Content 包含用户定义的架构。数据库在能够使用之前必须为空。请删除所有表、存储过程以及其他对象,或使用其他数据库。 " 的提示,无法加载内容数据库
- 使用DeleteTable方法删除Paradox数据库的人员表
- 集合已修改;枚举操作可能无法执行。使用foreach 循环删除DataRow的时候的问题! 该死的AcceptChanges() Row.elete() Remove(Row)使用不同。
- SQL 使用 DELETE 语句删除行
- BASIS--使用DELETE_USER_ON_DB批量删除用户