2013-12-15 16 views
0

请帮忙修复script把脚本放在单独的模块中

我添加了一些按钮功能。然后试图把所有的js代码放在一个单独的范围内。也就是说,把它变成一个设计

var testModule = (function() { 
  
}) (this); 

生成的代码已停止工作

+0

你不觉得你应该上传工作的jsfiddle所有包含的库? (什么是“可观察”?哪个FW?)?在这里添加库标签。 –

+0

jsfiddle似乎并没有为我工作,但无论如何 我建议将jquery添加到您的脚本中,并将所有JavaScript代码放入文档准备好的函数中,例如'$(document).ready(function(){ //你的代码在这里 });' 所以是的,如果你的js代码在移动到另一个文件之前工作,这应该工作。不要忘记添加jQuery库。 祝你好运 – photowalker

+0

@photowalker我相信它是淘汰赛或骨干 –

回答

0

的问题是,你不从函数返回任何东西,所以testModuleundefined

然后您尝试访问testModule.observable,它与undefined.observable相同,这是一个错误。

你也需要在你的提琴选择jQuery的 - 由OP固定,见注释质疑。)

0

你忘了传递参数!

关注此片段:

var foo = 'foo'; 


(function(fooAliasToBeUsedInsideTheClosure){ 
    console.log(fooAliasToBeUsedInsideTheClosure); 
}(foo)) 


(function(){ 
    console.log(fooAliasToBeUsedInsideTheClosure); 
}(foo)) 

打印“富”在控制台中的第一次尝试正常工作。但是第二次失败,因为在闭包中没有与foo var相匹配的参数。然后它在代码中考虑foo = undefined。

在你的例子中,这种情况特别极端,因为你迫使asignment'this = undefined'。

所以,试着在第一时间解决这个问题。

0

您需要在函数的最后返回:

var testModule = (function() { 


    return { 
       observerable : observerable 
      }; 
}) (this); 
相关问题