如何为下面的代码段调用警报?
function a(fun) {
fun.call(null);
}
function x() {
alert("function called");
}
a("x");
请确保仅允许编辑
function a(fun) {
fun.call(null);
}
答案 0 :(得分:0)
这里没有多少选择。首先,在全局窗口上下文中,您可以这样做:
function a(fun) {
this[fun].call(null); // window[fun].call(null);
}
如果您的功能位于上述不同的上下文中将无效。更灵活的方法是在对象上声明方法:
function a(fun) {
obj[fun].call(null);
}
var obj = {
x: function() {
alert("function called");
}
};
a("x");
答案 1 :(得分:0)
我想如果你喜欢eval那么你可以这样做
function a(fun) {
eval(fun + "()");
}
但我还是建议你这样做。它在许多js库中的任何地方用于回调功能。
function a(fun) {
fun();
}
function x() {
alert("function called");
}
a(x);