Javascript Delect关键字
JavaScript中,有一个Delete关键字。语法
delete object.property delete object['property'] delete object[index] delete property // deletes properties of the global object, or, // using the with statement, properties of the referenced object
简单来说,delete得了会返回true,否则返回false。那么现在就分,有哪些可以delete,哪些不能delete。
首先,我们要知道,每一个变量属性都可以有任意多个属性,ReadyOnly,....,DontDelte。一但带上了dontdelete,就表明这是不能删掉了,而且这个属性从开始创建就会一直跟着,是不能被改变的。
在声明变量或者函数的时候,他们都会变成了当前的上下文对象属性,有点抽象。对于函数来说,它的变量被称为活动对象,对于全局代码(也就是script里的代码)就是变量对象,而值得注意的是,再次申明,这些属性是在创建就有了DontDelete标记,是不能更改的。所以delete以上情况会返回false。
对于显示或者隐式的赋值语句产生的属性都不带有DontDelete这个标记,另外内建对象也会自带DontDelete,像函数的arguments和length这些。
参考资料: http://juliankim.iteye.com/blog/644131
资料原谅: http://perfectionkills.com/understanding-delete/ 需要FQ