我有一个我想作为参数传递的函数
function myFun(){
}
function myFunParam(myFun){
}
以上代码是否正确?如何在myFun
内调用函数myFunParam
?
答案 0 :(得分:4)
function myFun(){
alert('test');
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun(); // alerts "test"
}
如果你的函数需要一个参数,你会这样做:
function myFun(myarg){
alert(myarg);
}
function myFunParam(myFun){
if (typeof myFun === "function")
myFun('foo'); // alerts "foo"
}
或者您也可以使用arguments
对象(实际上是类似数组的对象)传递任意数量的参数。
答案 1 :(得分:1)
这是正确的,但我肯定会重命名参数以避免全局myFun和参数之间的混淆:
function myFunParam(func) {
func(); // call function
}
答案 2 :(得分:1)
function myFun(){
}
function myFunParam(myFun){
if ($.isFunction(myFun)){
//Added example of passing arguments to myFun
myFun.apply(this, ['arg1', 'arg2', 'arg3']);
}
}
您也可以传递匿名函数
myFunParam(function(){
alert('anonymous function');
});
答案 3 :(得分:0)
你的代码是对的。你需要这样打电话:
function myFun(){
}
function myFunParam(myFun){
// Other Statements
myFun();
}
希望它有所帮助! :)
答案 4 :(得分:0)
或者你也可以这样做
var newFunction = function() {
alert("I am in newFunction");
}
function calleFunction(func) {
func();
}
calleFunction(newFunction);
答案 5 :(得分:0)
function outerFunction(innerFunction) {
innerFunction(); // call inner function
}