JavaScript参考手册
错误 | Errors
Errors: Delete in strict mode
信息
SyntaxError: applying the 'delete' operator to an unqualified name is deprecated (Firefox)
SyntaxError: Delete of an unqualified identifier in strict mode. (Chrome)
错误类型
SyntaxError
in strict mode only.
什么地方出了错?
JavaScript中的正常变量不能使用delete
运算符删除。在严格模式下,试图删除一个变量会引发错误,不允许。
该delete
运营商只能在对象上删除属性。如果对象属性是可配置的,则属性是“限定的”。
与常见的观点不同,delete
运营商与直接释放内存无关。内存管理通过中断引用间接完成,请参阅内存管理页面和delete
操作页面了解更多详细信息。
这个错误只发生在严格的模式代码中。在非严格的代码中,操作只是返回false
。
例子
试图删除一个普通的变量,在JavaScript中不起作用,并在严格模式下引发错误:
'use strict';
var x;
// ...
delete x;
// SyntaxError: applying the 'delete' operator to an unqualified name
// is deprecated
要释放变量的内容,可以将其设置为null
:
'use strict';
var x;
// ...
x = null;
// x can be garbage collected
错误 | Errors相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络