0

Model オブジェクトの一部である次の JavaScript メソッドで view("") が何をするのかわかりません。

addView: function(view) {
            this.views.push(view);
            view("");
        }

view(object) メソッドはどこにも定義されていません...

4

3 に答える 3

2

view(object) メソッドがどこにも定義されていません

を参照している関数は、引数としてにview渡されます。これはコールバックとも呼ばれます。コールバックは、別の関数 (B) に渡される関数 (A) であり、その関数 (B) によって呼び出されることになっています。addView

どこかに、次のようなコードがあるかもしれません

obj.addView(function(v) { 
   // using anonymous function expressions is a pretty common way to define
   // callbacks
});

また

function someFunctionName(v) {
    // any function will do, no matter how it is defined
}

obj.addView(someFunctionName);

関数は JavaScript のファースト クラス オブジェクトであり、他の値と同様に渡すことができます。

于 2013-11-13T06:10:57.573 に答える
1

ビューという関数を渡しているようです。次にビュー関数を呼び出します。関数は JavaScript の第一級市民であり、パラメーターとして他の関数に渡すことができます。

addView: function(view) {//view is a function itself that is passed into the current function.
            this.views.push(view);
            view("");
        }

呼び出しは次のようになります

someObj.addView(function(par1){alert("I am a function too")});
于 2013-11-13T06:11:44.737 に答える
1

関数 があるとします。パラメータを渡さず viewに関数を呼び出すと、次のように返されます。このような場合、関数から渡すパラメータ値を初期化する必要があります。viewview()undefinedview("")

function view(passedData){

   alert (passedData);
}
于 2013-11-13T06:19:37.520 に答える