我想知道 JavaScript 的保留关键字/函数是如何管理的。
Example:
根据:
http://www.quackit.com/javascript/javascript_reserved_words.cfm http://www.quackit.com/javascript/javascript_reserved_words.cfm
delete
是 JavaScript 的保留关键字。
然后针对某些上下文考虑以下代码片段:
var cookieManager = {
get: function (name) {
// function contents ...
console.log("cookieManager.get() called");
return true;
},
set: function (name, value, days) {
// function contents ...
console.log("cookieManager.set() called");
return true;
},
delete: function (name) {
// function contents ...
console.log("cookieManager.delete() called");
return true;
}
};
这个对象有一个delete
属性,但它的名称是由 JavaScript 保留的,所以它应该失败,对吧?
然而当我执行cookieManager.delete();
in the webconsole
of FireFox
我得到以下输出,表明它工作正常:
[11:26:00.654] cookieManager.delete();
[11:26:00.656] cookieManager.delete() called
[11:26:00.657] true
但是,如果您运行代码JsLint
它说
Problem at line 12 character 5: Expected an identifier and instead saw 'delete' (a reserved word).
delete: function (name) {
暗示这是一个大no no方法并应避免。
因此,我什么时候应该考虑保留关键字,就像在这个例子中一样,它似乎像我想要的那样工作(delete关键字位于对象cookieManager的上下文中,因此不会引起冲突,因此可以使用它)或者应该我遵守圣经JsLint
并重命名任何由 javascript 保留的关键字?在这种情况下,我可以轻松地将 .delete() 重命名为 .remove()。