我想知道如何管理 JavaScript 的保留关键字/函数。
例子:
根据:
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();
时webconsole
,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) {
建议这是一个很大的禁忌方法,应该避免。
所以我什么时候应该考虑保留关键字,就像在这个例子中它似乎像我想要的那样工作(删除关键字在对象 cookieManager 的上下文中,因此不会导致冲突,因此可以使用它)或者应该我遵守圣经JsLint
并重命名javascript保留关键字的任何内容?在这种情况下,我可以轻松地将 .delete() 重命名为 .remove()。