序文: 1. スコープはさまざまな形式で表現されますvarは関数スコープ、letはブロックスコープです { var monkey = 'Xun Wukong'; let pig='ポークチョップカバー'; } console.log(monkey); //出力は未定義 console.log(pig); //エラー: pig は定義されていません 上記のコードからわかるように、 2. 変動昇進と非昇進の違いvar で宣言された変数はホイストされますが、let で宣言された変数はホイストされません。 console.log(monkey); //未定義 var monkey = 'Xun Wukong'; console.log(pig); //エラー: pig が定義されていません let pig='ポークチョップカバー'; 同じ論理に従うと、var で宣言された変数は宣言前に呼び出されると undefined として表示されるのに、let で宣言された変数は宣言前に呼び出されると例外をスローするのはなぜでしょうか。これが、変数の昇格における 2 つの違いです。var で宣言された変数は変数の昇格がありますが、let で宣言された変数は昇格しません。 では、変数の昇格とは何でしょうか? ここでは概念的な説明はしません。上記のコードは実際には次のコードと同等であるという私の個人的な理解のみを述べます。 var サル; console.log(monkey); //未定義 猿 = 'Xun Wukong'; console.log(pig); //エラー: pig が定義されていません let pig='ポークチョップカバー'; 違いがわかりますか? var で宣言された変数は定義のスコープの先頭に抽出されますが、値は割り当てられません。割り当て操作はコード内に残っているため、 3. 一時的なデッドゾーンの違い一時的なデッドゾーン: 変数がスコープ内にあり、外側のスコープ内に同じ名前の変数がある場合、その変数がスコープ内で変更されても、外側のスコープには影響しません。 具体的な性能は以下のとおりです。 (var i=0;i<5;i++){ setTimeout(関数(){ コンソールログ(i) },1000) } (i=0;i<5;i++とします){ setTimeout(関数(){ コンソールログ(i) },1000) } これら 2 つのコードを実行した結果は何でしょうか? 最初のコードの結果は、1 秒後に 5 が 5 つ順番に印刷されることです。2 番目のコードの結果は、1 秒後に 0、1、2、3、4 が順番に印刷されることです。 なぜこのような違いが存在するのでしょうか? 最初のコードの変数 i は var キーワードで宣言されているため、重大なデッド ゾーンはありません。つまり、1 秒後に 2 番目のコード内の変数 i は let キーワードで宣言されており、これが重大なデッド ゾーンを生み出しています。setTimeout 4. 同じコンテキストでvarは繰り返し宣言できるが、letは繰り返し宣言できない。let monkey='Xun Wukong'; let monkey = '逼马吻'; //エラー: 識別子 'a' はすでに宣言されています var pig = 'ポークチョップカバー'; var pig = 'pig anal fissure'; //通常のアクセス、変数pigの値が置き換えられます JavaScript の var と let の違いについての記事はこれで終わりです。JavaScript の var と let についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: CSS 共通スタイルで二重矢印を描画するサンプルコード
目次1. フロントエンドルーティングの実装原則2. vue-Routerの基本的な使い方2.1. イ...
1. 何ですか視差スクロールとは、複数の背景レイヤーを異なる速度で動かすことで、3次元のモーション...
この記事では、DIYポストカード機能を実現するためのfabricjsの具体的なコードを参考までに共有...
目次スロットルと手ぶれ防止コンセプト:違いスロットリングの実装スロットル機能手ぶれ補正の実装手ぶれ防...
最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...
Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...
仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...
目次React アップロードファイル表示の進行状況デモフロントエンドにReactアプリケーションを素...
フロントエンドの初心者として、私は数日間フロントエンドをいじってみました。 。今日、私は自分が固く信...
従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...
この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...
目次1. 世界地図1. VueにOpenLayersをインストールする2. アマップ1. 世界地図1...
1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...
HTML img タグ: Web ページに導入される画像を定義します。興味深い usemap 属性も...
Awk はテキスト ファイルを処理するためのアプリケーションであり、ほぼすべての Linux システ...