0

パラメータを正しく受け入れる JavaScript 関数を使用する方法がわかりません。

これを行うことができるため、入力パラメーターを使用しない場合、関数を完全に機能させることができます。

var x = MyFunction;

しかし、私がこれをしなければならない瞬間

 var x = MyFunction(e);

それからそれは壊れます。

後で入力パラメーターを設定してこれを回避しようとしましたが、何も機能しません。これどうやってするの?

http://jsfiddle.net/TxMmG/

var MyFunction = function() {

    var otherResult = function() {
        alert("Hi");
    },

        input, objToAlert = function() {
            return input;
        };

    return {
        objToAlert: objToAlert,
        input: input,
        otherResult: otherResult
    }

}();


var e1 = "test";


//var y = MyFunction(e); //this does not work if i add a parameter to function - moment i put parenthesis i get problems
var x = MyFunction;
x.input = e1; //also cant set the input here
x.objToAlert();
x.otherResult(); 
4

2 に答える 2

2

()関数定義の後に a を配置すると、関数が呼び出され、MyFunction実際には関数自体ではなく、関数によって返されるオブジェクトになります。

次のようにします。

var MyFunction = function() {
    // ...
};  // No () here
于 2012-07-10T08:39:22.520 に答える
0

問題は、関数がオブジェクトを返すことです。したがって、オブジェクトを var y に割り当てています。オブジェクトを関数として扱うことはできません。

于 2012-07-10T08:42:42.740 に答える