我无法弄清楚如何正确接受参数的javascript函数。
如果我不使用输入参数,我可以使函数正常工作,因为我可以这样做:
var x = MyFunction;
但是我必须这样做的那一刻
var x = MyFunction(e);
然后它就破了。
我尝试通过之后设置输入参数来解决这个问题,但是我无法解决任何问题。我怎么能这样做?
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();
答案 0 :(得分:2)
在函数定义之后放置()
,因此调用该函数,MyFunction
实际上是函数返回的对象,而不是函数本身。
这样做:
var MyFunction = function() {
// ...
}; // No () here
答案 1 :(得分:0)
问题是你的函数返回一个对象。因此,您要将对象分配给var y。您不能将对象视为函数。