从另一个文件中调用对象中的方法?

时间:2013-01-30 11:20:27

标签: javascript object

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

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

exJS = function(){

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

onpage脚本: -

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

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

我也欢迎提出更好的建议

谢谢


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

2 个答案:

答案 0 :(得分:1)

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

我建议这个小变种:

外部文件:

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

onpage脚本:

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

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

exJS.doSomeOtherThing = function() {
    ...
}

答案 1 :(得分:0)

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

以下是一个示例,接受的答案显示了如何操作。

How do I declare a namespace in JavaScript?

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