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

()在函数定义之后放了一个,所以函数被调用并且MyFunction实际上是函数返回的对象,而不是函数本身。

这样做:

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

问题是您的函数返回一个对象。因此,您将一个对象分配给 var y。您不能将对象视为函数。

于 2012-07-10T08:42:42.740 回答