1

大家好,大家决定重构我的 javascript 并尝试将我的页面脚本分离到外部 js 文件中。

如果我错了,请纠正我,我还是 javascript 新手,但这是我当前的设置:- 我的外部文件:-

exJS = function(){

  this.coolMethod = function(){
        //do cool code here
  }
}

页面脚本:-

<script type="text/javascript" src="ex_js.js"></script>
<script>
 exJs = new exJS();
 exJs.coolMethod();
</script>

所以很明显我做错了什么,如何从不同的文件调用对象中的方法?

我也欢迎更好的建议来执行此操作

谢谢


更新:它不起作用,因为我没有在对象中定义的函数之间放置逗号......愚蠢的错误!

4

2 回答 2

1

您所做的很好(除了关闭严重的第一个脚本元素),但如果您不想要多个 exJS 实例,则可能不需要。

我建议这个小变种:

外部文件:

var exJS = {
  coolMethod: function(){
        //do cool code here
  }
}

页面脚本:

<script type="text/javascript" src="ex_js.js"></script>
<script>
 exJs.coolMethod();
</script>

请注意,当您的代码增长并且您想在另一个文件中定义一个新函数时,您可以简单地将这个函数定义为

exJS.doSomeOtherThing = function() {
    ...
}
于 2013-01-30T11:25:04.857 回答
0

我会考虑使用命名空间(或者至少 javascripts 尝试使用它们)

这是一个例子,接受的答案显示了如何做到这一点。

如何在 JavaScript 中声明命名空间?

@dystroy 在他的回答中也有一个例子。

于 2013-01-30T11:24:15.460 回答