我有以下模式但是我想知道我是否正确地思考这个问题。我是否需要将参数分配给this
?你有什么不同的做法吗?
var myFunction = (function()
{
function privateCheck(a,b)
{
console.log(a+b);
}
return
{
init: function(x,y)
{
privateCheck(x,y);
}
}
})();
myFunction.init(3,4);
myFunction.init(4,5);
答案 0 :(得分:3)
您的匿名,立即调用的函数将始终返回undefined
。您的return
声明涉及一个常见问题:
return { // <--- curly brace MUST be here
init: function(x,y)
{
privateCheck(x,y);
}
}
除此之外应该没问题,尽管上下文不多。
编辑这个问题与关于&#34;分号插入&#34;的常常奇怪的规则有关。在这个特殊情况下,就像少数其他人一样,语言在return
之后会看到换行符,并假设您忘记了分号。