1

パラメータとして渡したい関数があります

function myFun(){

}

function myFunParam(myFun){

}

上記のコードは正しいですか?myFun内で関数を呼び出すにはどうすればよいmyFunParamですか?

4

6 に答える 6

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

于 2012-06-19T09:52:35.990 に答える
1

それは正しいですが、グローバル myFun とパラメーターの間の混乱を避けるために、パラメーターの名前を変更することは間違いありません。

function myFunParam(func) {
    func(); // call function
}
于 2012-06-19T09:52:44.370 に答える
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');
});
于 2012-06-19T10:04:28.680 に答える
0

またはあなたもこのようにすることができます

var newFunction = function() {
alert("I am in newFunction");
}


function calleFunction(func) {
func();
}

calleFunction(newFunction);
于 2012-06-19T10:05:49.763 に答える
0

あなたのコードは正しいです。この方法で呼び出す必要があります:

function myFun(){
}

function myFunParam(myFun){
    // Other Statements
    myFun();
}

それが役に立てば幸い!:)

于 2012-06-19T09:52:58.437 に答える
0
function outerFunction(innerFunction) {
    innerFunction(); // call inner function
}
于 2012-06-19T10:15:24.497 に答える