在单独的模块中放入一个脚本
put a script in the separate module
请帮助修复脚本
我添加了一些按钮功能。然后尝试将所有js代码放在一个单独的范围内。也就是说,将其放入设计中
var testModule = (function () {
}) (this);
生成的代码已停止工作
问题是您没有从函数返回任何内容,所以testModule
的值是undefined
。
然后您尝试访问与undefined.observable
相同的testModule.observable
,这是一个错误。
(您还需要在小提琴中选择jQuery。--由OP修复,请参阅问题注释。)
您忘记传递参数了!
观看以下片段:
var foo = 'foo';
(function(fooAliasToBeUsedInsideTheClosure){
console.log(fooAliasToBeUsedInsideTheClosure);
}(foo))
(function(){
console.log(fooAliasToBeUsedInsideTheClosure);
}(foo))
第一次尝试在控制台中打印"foo"操作正常。但第二个失败了,因为闭包中没有与foo var匹配的参数。然后它在代码中考虑foo=未定义。
在您的示例中,这种情况特别极端,因为您正在强制输入"this=undefined"。
所以,试着在第一时间解决这个问题。
您需要在函数末尾返回:
var testModule = (function () {
return {
observerable : observerable
};
}) (this);