javascript将函数分配给变量而不运行它

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)

我定义了一个全局变量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) { 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。请对您的解决方案添加一些注释,说明为什么以及如何解决问题。请对您的解决方案添加一些注释,说明为什么以及如何解决问题