-1

你怎么能故意让javascript忽略一段代码。那就是:如果你有这样的东西:

function hello() { console.log('hello'); }

有没有办法让 javascript 忽略这一点而不创建函数名hello?这可以用纯javascript完成吗?

4

2 回答 2

3

假设您不能删除或注释掉该代码,不,您不能阻止创建该函数。

但是,您可以hello断开函数与符号的连接:

hello = undefined;

现在您不能再通过该符号调用该函数,如果它是对该函数的唯一引用,则该函数符合 GC 条件。

示例:Live Copy | 资源

function hello() { console.log("Hello"); }

console.log("Before setting <code>hello = undefined;</code>");
try {
    hello();
}
catch (e1) {
    console.log("Exception on 'before' call: " + (e1.message || String(eq)));
}

hello = undefined;

console.log("After setting <code>hello = undefined;</code>");
try {
    hello();
}
catch (e2) {
    console.log("Exception on 'after' call: " + (e2.message || String(eq)));
}

输出:

在设置 hello = undefined; 之前
你好
设置后 hello = undefined;
“后”调用的异常:未定义不是函数
于 2013-09-25T09:41:58.603 回答
2

您可以覆盖该函数以不执行任何操作,例如:

hello = function(){}

更新

正如我在你的评论中看到的。您只想忽略此代码,但以后仍想使用它。所以我想你可能想试试这个:

1-保存函数指针

var oldHello = hello;

2-覆盖它

hello = function() {}

3-恢复以备后用

hello = oldHello;

希望能帮助到你。

于 2013-09-25T09:46:58.273 回答