序文: ブロックレベルのスコープについて学ぶ前に、スコープについて理解しておく必要があります。スコープとは、コード内のメンバーが機能する範囲のことです。 1. ブロックスコープとは何ですか?いわゆるブロックレベル スコープとは、変数が宣言されているコード ブロックまたはサブコード ブロック内でのみ使用できることを意味します。 /* * ブロックレベルスコープではletキーワードのみ使用可能* letキーワードはブロックレベルスコープを宣言できるだけでなく、グローバルスコープや関数スコープでも使用可能*/ // グローバルスコープ let a = 100; // グローバル変数 (function () { // 関数スコープ let b = 200; // ローカル変数 })() (真)の場合{ // ブロックスコープ let c = 300; // ローカル変数 } コンソールログ(a); // 100 console.log(b); // 例外をスローします console.log(c); // 例外をスローします 2. ブロックスコープが必要なのはなぜですか? ローカル変数はグローバル変数を上書きする可能性がある var v = 100; (関数(){ console.log(v); // 未定義 var v = 200; }) ループ本体でカウントに使用される変数がグローバル変数としてリークされる // ループ本体を定義します for (var v = 0; v < 10; v++) { console.log("これは for ループです"); // これは for ループです * 10 } コンソール.log(v); // 10 ループが完了した後に変数が手動で解放されない場合、そのライフサイクルはスクリプトとともに存続し、メモリを占有します。 3. 関数宣言あり
ケース1: (真)の場合{ 関数 f() {} } ケース2: 試す { 関数 f() {} } キャッチ(e) { // ... } 上記の 2 つの関数宣言は、 { 関数fun() { console.log('これは楽しい'); } } fun(); // これは楽しい // 上記は次の関数と同等です { var fn = 関数() { console.log('これはfnです'); } } fn(); // これはfnです // let キーワードを使用すると、ブロックスコープ外からはアクセスできません { f = 関数() { console.log('これはfです'); } } f(); // ReferenceError の例外をスローします: f は定義されていません
以下もご興味があるかもしれません:
|
<<: スパンの最小高さを定義するソリューションは効果がありません
>>: Web でよく使われるフォントの紹介 (iOS および Android ブラウザでサポートされているフォント)
外部キーテーブルの主キーがどのテーブルの外部キーであるかを照会する 選択 テーブル名、 列名、 制約...
目次マップ状態マップゲッターマップミューテーションマップアクション複数のモジュールマップ状態 ...
Brotli は、Zopfli よりも 20 ~ 26% 高い圧縮率を実現できる新しいデータ形式です...
<div class="box"> <画像 /> &l...
◆お気に入りに追加例示するクリックすると、ブラウザのお気に入りメニューにウェブサイトが追加されます...
1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...
Linux がすべてのコマンドをサポートしていない場合はどうすればいいですか?すべてのLinuxコマ...
幅と高さを直接使用することはできません。 display:block; または display:in...
純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...
<br />質問:特定のファイルにジャンプするには、HTML でどのように記述すればよい...
これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...
ウェブデザイナーになるのは簡単ではありません。デザインやアーキテクチャを考慮するだけでなく、さまざま...
以下の属性はブラウザとの互換性があまりありません。 1.transform:rotate(45度) ...
Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...
目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...