我对javascript很陌生。我注意到,显然在“使用严格”模式下操作时,无法删除对象。我并不是删除内容的忠实拥护者(从理论上讲,因为无论如何,范围都应该解决),但是我想知道删除此功能的动机是什么?
delete
在严格模式下仍允许使用该语句,但是该语句的某些特定用法是错误的。仅允许用于对象属性,不能用于简单名称,并且仅用于可以删除的对象属性。
从而
var a = {x: 0};
delete a.x;
很好,但是
delete Object.prototype;
不是,也不是
delete a;
(后者实际上是语法级别的错误,而尝试删除不可删除的属性则是运行时错误。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句