javascript将函数分配给变量而不运行它
我定义了一个全局变量ff,然后调用f1将函数f3赋给它。 当我调用f2时,f3将运行javascript将函数分配给变量而不运行它,javascript,Javascript,我定义了一个全局变量ff,然后调用f1将函数f3赋给它。 当我调用f2时,f3将运行 var ff; function f1() { ff=f3; } function f2() { ff(); } function f3() { alert("hello"); } 但是如果f3采用如下参数 function f3(txt) { alert(txt); } function f1() { ff=f3("hello"); } 我调用f1来分配ff,如下所示 function f3(txt)
var ff;
function f1() { ff=f3; }
function f2() { ff(); }
function f3() { alert("hello"); }
但是如果f3采用如下参数
function f3(txt) { alert(txt); }
function f1() { ff=f3("hello"); }
我调用f1来分配ff,如下所示
function f3(txt) { alert(txt); }
function f1() { ff=f3("hello"); }
f3将同时运行
当我将f3分配给ff时,我不希望它运行,我需要传递一个参数。
我怎样才能做到这一点?
在其后面加上()的变量将使其成为函数并运行。在第二个示例中,您正在分配
ff
调用的f3
值,这就是它调用函数的原因。您应该像最初那样进行赋值ff=f3
。然后,您可以使用参数调用ff:ff(“hello”)
在第二个示例中,您正在分配ff
f3调用的值,这就是它调用函数的原因。您应该像最初那样进行赋值ff=f3
。然后您可以使用参数调用ff:ff(“hello”)
尝试使用:
bind()
方法创建一个新函数,该函数在调用时具有
此关键字设置为提供的值,并具有给定的
调用新函数时,将在任何函数前面提供参数
尝试使用:
bind()
方法创建一个新函数,该函数在调用时具有
此关键字设置为提供的值,并具有给定的
调用新函数时,将在任何函数前面提供参数
这个怎么样
var ff;
function f1() { ff=f3; }
function f2() { ff('hello'); }
function f3(text) { alert(text); }
这个怎么样
var ff;
function f1() { ff=f3; }
function f2() { ff('hello'); }
function f3(text) { alert(text); }
我可以根据不同的条件将f4分配给f1中的ff,f4采用不同数量的参数。因此,我不能用f2中的参数调用ff。我可以根据不同的条件将f4分配给f1中的ff,f4使用不同数量的参数。因此,我不能用f2中的参数调用ff。请对您的解决方案添加一些注释,说明为什么以及如何解决问题。请对您的解决方案添加一些注释,说明为什么以及如何解决问题