Emacs:在etags中查找函数定义

时间:2012-06-19 07:11:28

标签: javascript node.js emacs syntax jslint

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'?

感谢。 :)

1 个答案:

答案 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} }。

我不建议这样做。