我对 javascript 还很陌生。我注意到,显然在“使用严格”模式下操作时,您无法删除对象。我不太喜欢删除某些东西(因为从理论上讲,作用域无论如何都应该处理这个问题),但我想知道删除此功能背后的动机是什么?
The delete
在严格模式下仍然允许使用该语句,但它的某些特定用法是错误的。它仅允许用于对象属性,而不是简单名称,并且仅允许用于可删除的对象属性。
Thus
var a = {x: 0};
delete a.x;
很好,但是
delete Object.prototype;
不是,也不是
delete a;
(后者实际上是语法级错误,而尝试删除不可删除的属性是运行时错误。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)