0

私はjQueryを使用しており、2つの異なるjsファイルがあります。

file_1.js

$(document).ready(function(){
    var A = 'varA';
});

file_2.js

$(document).ready(function(){
    console.log(A); // will get an A is undefined because of this closure thing
});

あるファイルから別のファイルの 1 つの変数にアクセスする方法はありますか? $(document).ready(...) 内にすべてのコードが必要です

私が使用した1つの解決策は、変数をグローバルにすることです(var Aを使用せずに)。もっと良いものはありますか?

4

2 に答える 2

5

独自の名前空間を作成します。

var my = {};

...

 $(document).ready(function(){
     my.A = 'A';
 }

 ...

 $(documet).ready(function() {
     console.log(my.A);
 }

このようにして、すべての「グローバル」オブジェクト/関数の名前空間として機能するグローバル変数myが 1 つだけになります。

于 2012-09-03T13:06:33.137 に答える
0

Var A は関数で定義され、その有効期間は関数の実行に制限されます。グローバルにする必要があるため、そもそもグローバル変数が存在します。

于 2012-09-03T13:04:11.050 に答える