js2-mode中的语法检查很棒。
但有时我只是想定义一个名为“删除”或“新”的函数,即使这不是一个好主意。 Js2模式似乎将此视为错误。
如何在js2-mode中使用内置关键字作为函数名?我需要你的帮助。
=============================================== =
对不起我的愚蠢问题......
我正在使用etags。
但是写一些像:
exports.new = function() {
};
似乎etags将此视为'exports.new'的定义,而不是'new'。
TAGS
};exports.new248,8614
所以我想写一些类似的东西:
function new() {
}
exports.new = new;
我多么愚蠢!!!
所以我的问题转回到如何让etags找到'new'的定义,而不是'exports.new'?
感谢。 :)
答案 0 :(得分:3)
“Js2-mode似乎将此视为错误”
是错误,不是吗?
我真的不明白你为什么要这样做,但以下工作:
someObject["new"] = function() {
alert("This is the 'new' function.");
}
someObject["new"]();
假设someObject
已作为对象存在。或者:
var someObject = {
"new" : function() {},
"delete" : function() {}
};
someObject["new"]();
someObject["delete"]();
在浏览器中,您可以说window["new"] = function() {}
,但无法使用new()
调用结果函数,您必须说window["new"]()
。
在node.js中,我相信等价物是global["new"] = function() {}
。我不使用node,但我认为这会创建一个名为“new”的全局函数,但是你无法使用new()
语法调用它,你必须说{{1} }。
我不建议这样做。