[解決済み】変数宣言に'var'を使うのは任意ですか?重複
2022-03-25 17:35:01
質問
var"はオプションですか?
myObj = 1;
と同じです。
var myObj = 1;
私のテストでは、どちらも動作することがわかりました。
var
は省略可能です。そうなんですか?
解決方法は?
意味が違うんです。
もしあなたが
var
の場合、変数はあなたがいるスコープ(例えば関数の)内で宣言されます。もし
var
この場合、変数はスコープの階層を上がっていき、指定した名前の変数やグローバルオブジェクト(ブラウザで操作している場合はウィンドウ)にぶつかると、そこにアタッチされます。このとき、変数は
よく似た
をグローバル変数に置き換えます。ただし、削除する場合は
delete
(を使用しなかった他の人のコードによるものである可能性が高いです。
var
). もし
var
をグローバルスコープで使用すると、その変数は
真にグローバル
であり、削除することはできない。
これは、javascriptの最も危険な問題の1つであり、非推奨とするか、少なくとも警告の上に警告を上げるべきだと私は考えています。その理由は、忘れがちな
var
で、偶然にも共通の変数名がグローバル・オブジェクトに束縛されているのです。これは、奇妙でデバッグが困難な動作を生み出します。
関連
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み] テスト
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] .prop() vs .attr()
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?