这是我想做的事情之一,但我不确定它叫什么......
希望有人可以提供帮助!
我有以下功能:
function myfunction(object1, object2) { ... }
我想使用 .click 方法将另一个函数传递给object1。
我可以使用以下函数在函数中只使用一个对象轻松地使用它:
function myFunction(object1) { ... }
$('button').click(function() {
// Passes along another function!
myFunction(anotherFunction());
});
当有2个物体时,有人会如何处理?我似乎无法得到任何工作。有任何想法吗?或者我是以错误的方式接近这个?
答案 0 :(得分:0)
更新了答案
假设:
function myFunction( function, anotherFunction, ... ) { ... }
如果你想传递特定的参数但是能够省略参数,你可以提供一个参数但是把它当作假的:
myFunction( null, someOtherFunction, maybeAnotherFunction )
然后你需要处理null
,或许:
function myFunction( function, anotherFunction, ... ) {
let fnc = function;
let fnc2 = anotherFunction;
let ... = ...;
if(fnc) ...
if(fnc2) ...
if(...) ...
...
}
原始答案
因为你在传递过程中立即触发了这个功能,所以你可能真的想在没有初始化的情况下发送它。试试下面的内容,看看这是否适合你。
function myFunction(object1, object2) {
object1()
object2()
}
$('button').click(function() {
// Passes along another function!
myFunction(anotherFunction1, anotherFunction2);
});
答案 1 :(得分:0)
var a = 5,
b = 2;
function check(val1, val2) {
console.log(val1);
console.log(val2);
}
function add() {
return a + b;
}
function mulitply() {
return a * b;
}
check(add, mulitply); // this will send refernce of function's not output
check(add(), mulitply()); // this will converts into like this check(7,10);