私は1つのHTMLファイル内で複数のJSファイルを参照しています。私は、これらのJSファイルに変数名と関数名が重複してはならないことを知っています。しかし、それはグローバル変数またはすべての変数(関数内のローカル変数さえ)に限定されていますか?複数のJSファイルを使用する - 変数/関数が重複しています。
0
A
答えて
1
// These will go into global scope
nonKeywordedVarA = true; // just don't
var nonKeywordedVarC = true;
function leaky() {
nonKeywordedVarB = true;
}
// These will stay where you put them
function nonLeakyA() {
var functionScoped = true;
}
function nonLeakyB() {
var functionScoped = false;
}
if (true) {
let blockScoped = true;
}
if (true) {
let blockScoped = false;
}
leaky();
nonLeakyA();
nonLeakyB();
// Here we log global scope
console.log(typeof nonKeywordedVarA)
console.log(typeof nonKeywordedVarB)
console.log(typeof nonKeywordedVarC)
console.log(typeof functionScoped)
console.log(typeof blockScoped)
これは、同じスコープ内の変数に限定される:var
なし宣言
変数、
let
、const
キーワード(例えばSOMEVAR =真)。これらは、あなたの質問に対する答えはないですストレートグローバルスコープ(例えばwindow
オブジェクト)任意の関数のスコープ外で宣言された変数(または
let
の場合は範囲をブロックする)要するに
に漏れ入ります異なるスコープで同じ名前の変数が心配です。
+0
メンテナンスのため、私のテスト環境は現在停止しています。これをテストし、できるだけ早く対応します。あなたの返事をありがとう! –
関連する問題
- 1. c関数を使用して複数の変数を返す
- 2. 重複のない変数を生成する再帰関数
- 3. js関数の変数を使用して他の関数を使用する
- 4. 複数の重複条件で "重複キーを使用する"
- 5. 関数を使用して複数の変数をファイルに書き込む
- 6. Excel countif複数の範囲と複数の行が重複しています
- 7. 複数のDoctrineインスタンスを使用して重複する行
- 8. 複数の「マップ」を持つ関数にMocha jsを使用してテストする
- 9. 1つのjs関数で複数のクラスが使用されている複数の動画
- 10. Count()関数を使用して重複したUserNameを変更する、SQL 2012
- 11. 関数を使用して重複を減らす
- 12. JS関数を複数のファイルに整理する方法
- 13. 複数のファイルに対してstrsplit関数を適用する
- 14. JavaScript関数がAjaxと重複しています
- 15. R関数を重複して変更する
- 16. 変数を使用してJS関数をロードする方法
- 17. 変数を使用してJS関数をリフレッシュする
- 18. jOOQ - MySQL複数行INSERT ... VALUES()関数を使用した重複キー更新時
- 19. array_mapを複数引数の関数で使用していますか?
- 20. 変数とパフォーマンスが重複しています
- 21. 変数出力が重複しています
- 22. JS関数を複数の要素に適用する
- 23. pdf2htmlEXを使用して複数のファイルを変換する
- 24. jsファイルにPHP関数をロードして関数を使用
- 25. 同じPHP関数がJSを使用して複数回実行されています。サブミット
- 26. 複数のCppファイルで変数を使用する
- 27. 複数のpythonファイルでグローバル変数を使用する
- 28. 関数で引数を使用して複数の整数を追加する
- 29. 複数のグループを使用して変数を追加する
- 30. 変数の重複は変数を変更しません
同じスコープ内の変数のみ。 JSファイルはグローバルスコープを共有するだけなので、注意する必要があります。 – vlaz
あなたのスクリプトを '(function(){'use strict;;/* script * /})();'にラップすると、誤ってグローバルスコープに何かを漏らすことはできません。 'window'オブジェクトの明示的に設定されたプロパティだけがグローバルになります –
良い点@WilliamBしかし、厳密には_strict_と混乱しないように厳密に注意してください:) – tmslnz