1

js2-mode 中的语法检查很棒。

但有时我只想定义一个名为“delete”或“new”的函数,即使认为这不是一个好主意。Js2-mode 似乎将此视为错误。

如何在 js2-mode 中使用内置关键字作为函数名?我需要你的帮助。

=================================================

我很抱歉我的愚蠢问题...

我正在使用etags。

但写一些像:

exports.new = function() {
};

似乎 etags 会将其视为“exports.new”的定义,而不是“新”。

TAGS
};exports.new248,8614

所以我试图写一些类似的东西:

function new() {
}
exports.new = new;

我是多么的愚蠢!!!

所以我的问题又回到了如何让 etags 找到“新”的定义,而不是“exports.new”?

谢谢。:)

4

1 回答 1

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() {}. 我不使用节点,但我认为这会创建一个名为“new”的全局函数,但你不能用new()语法调用它,你必须说global["new"]().

我不建议这样做。

于 2012-06-19T07:18:26.720 回答