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

私は名前空間の使用を検討します(または少なくともJavaScriptがそれらを試みます)

例を次に示します。受け入れられた回答は、その方法を示しています。

JavaScript で名前空間を宣言するにはどうすればよいですか?

@dystroy の回答にもこの例があります。

于 2013-01-30T11:24:15.460 に答える