答えて
variable_name = 5
は常に二つの文は基本的に同じである(ブラウザでwindow
です)グローバルオブジェクト
にvariable_name
を置きます。しかし、あなたが関数コンテキストにいる場合、var
は、この変数が現在のコンテキスト内でのみ宣言されていることを確認します。例えばので
:
function foobar() {
bar = 55;
}
foobar();
window.bar === 55 // true
ベター:
function foobar() {
var bar = 55;
}
window.bar === 55 // false
結論:機能のコンテキスト内で常に使用var
。これにより、変数を使用してグローバルオブジェクトをクローバー/オーバーライドすることを回避します。
var
keywordは、変数のスコープを現在の関数に制限します。それを離れると、グローバルになります。 Globals are badとshould be avoidedは競合条件とスクリプトが互いに干渉する主要な原因です。
違いはありません - 2番目の変数(x = 5;)では変数がまだ存在しない場合は自動的に宣言されます。
しかし、私は常に最初のオプションを使用します。あなたはglobal context
(=ではない関数コンテキスト)にある場合
最も確かに*行います*違いがあります。 '関数a(){var x = 1; } x = 0; a(); alert(x.toString()); '。 'var'を取り除いて、結果が変わらないかどうか確認してください。 – cHao
x=5
は、この変数(実行後)がグローバルになり、コード内の他の部分(および他のjavascriptによっても)からアクセスできることを意味します。
var x=5
いる間だけ、それが上で宣言されたブロックにはよく知られて、(それはだ子孫)x=5
がグローバルになりますが、この行が実行された場合にのみ、それがグローバルになることを
注意! これを関数の中に置くと、その関数が呼び出された後に初めてグローバルになります(初めて)。
- 1. 我々は変数logits、変数を宣言するときlogits
- 2. PHPの変数は、私は、変数のように宣言
- 3. 再宣言はJavaScript変数
- 4. Javascript変わった変数宣言
- 5. は、我々は変数
- 6. JS - 我々はすべて知っているように、変数
- 7. 宣言された変数とjs関数の宣言されていない変数
- 8. Javascript変数宣言問題
- 9. JavaScriptを使って変数を宣言するためにvarを使う
- 10. フローjsで環境変数の型を宣言するには?
- 11. JavaScriptの変数の宣言と設定
- 12. 宣言文のような複数の変数のSET文
- 13. ループのjavascriptを使用した複数の変数宣言
- 14. JavaScriptでの代入による変数型宣言のメリット
- 15. 初心者変数宣言 - JavaScriptの
- 16. どのように変数を宣言したいのbash
- 17. JavaScriptのvarキーワードで関数外の変数を宣言する
- 18. Swiftで多くの変数を宣言するためのショートカット
- 19. グローバル変数は、私はheader.phpのファイルにJavaScriptでグローバル変数を宣言
- 20. トランザクションまたは変数の宣言エラー
- 21. 変数宣言は時々、「名前空間のエラー」他人
- 22. javascript変数を宣言するためのよりエレガントな方法はありますか?
- 23. 変数は変数を宣言することなく動作しますか?
- 24. teradataの変数の宣言
- 25. どのように変数をグローバルに宣言しますか?ケースforeach? Javascript
- 26. MYSQL宣言した変数
- 27. 不明な変数宣言
- 28. この状況でグローバル変数を宣言するには?
- 29. js変数宣言の速度をテストする
- 30. 角度jsのhtmlページで変数を宣言する方法
ブラウザ環境内のグローバルオブジェクトとしての 'window'に言及する場合+1。 – alex
関数がこのような変数を宣言している場合、function(typ){var typ;}これを行う必要はありますか?グローバルオブジェクトをオーバーライドするのを避けるために... – theHack
@Afrig:いいえ。 'Activationオブジェクト'と呼ばれるスウィッチは、渡されたすべての引数を処理します。それはまだ関数のコンテキストでのみ利用可能です。 – jAndy