请帮助修复script
我添加了一些按钮功能。然后尝试将所有js-code放在一个单独的范围内。也就是说,把它放到设计中
var testModule = (function () {
}) (this);
结果代码已停止工作
答案 0 :(得分:0)
问题是您没有从函数中返回任何内容,因此testModule
的值为undefined
。
然后您尝试访问与testModule.observable
相同的undefined.observable
,这是一个错误。
(你还需要在你的小提琴中选择jQuery。 - 由OP修复,见评论问题。)
答案 1 :(得分:0)
你忘了传递这个论点!
观看此片段:
var foo = 'foo';
(function(fooAliasToBeUsedInsideTheClosure){
console.log(fooAliasToBeUsedInsideTheClosure);
}(foo))
(function(){
console.log(fooAliasToBeUsedInsideTheClosure);
}(foo))
首次尝试在控制台中打印'foo'正常工作。但第二次失败,因为在闭包中没有与foo var匹配的参数。然后它在其代码中考虑foo = undefined。
在你的例子中,这种情况特别极端,因为你强迫asign'this = undefined'。
所以,试着在第一次实例时修复它。
答案 2 :(得分:0)
您需要在函数结束时返回:
var testModule = (function () {
return {
observerable : observerable
};
}) (this);