ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptにはいくつかの変数があります

JavaScriptにはいくつかの変数があります

青灯夜游
青灯夜游オリジナル
2021-10-25 16:24:524198ブラウズ

Javascript には 3 種類の変数があります: 1. すべての関数の外部で宣言されるグローバル変数; 3. 関数本体または関数の名前付きパラメーター内で宣言される変数であるローカル変数; 3. 、ブロックレベル変数は、ブロック内で宣言された変数であり、ブロック内でのみ有効です。

JavaScriptにはいくつかの変数があります

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

Javascript には、グローバル変数、ローカル変数、ブロックレベル変数という 3 種類の変数があります。

グローバル変数は、すべての関数の外部で宣言されます。ローカル変数は、関数本体または関数の名前付きパラメーターで宣言された変数です。ブロックレベル変数は、ブロック内で宣言された変数であり、ブロック内でのみ有効です。

3 種類の変数は、グローバル スコープ、ローカル スコープ (関数スコープとも呼ばれる)、ブロックレベル スコープの 3 種類のスコープに対応しており、変数のスコープは宣言方法と密接に関係しています。

var を使用して宣言された変数のスコープには、グローバル スコープと関数スコープがあり、ブロック レベルのスコープはありません。let および const を使用して宣言された変数には、グローバル スコープ、ローカル スコープ、およびブロック レベルのスコープがあります。

注: 厳密な意味でのグローバル変数は window オブジェクトのプロパティに属しますが、let と const によって宣言された変数は window オブジェクトに属さないため、厳密な意味ではグローバル変数ではありません。ここでは、それらはスコープの観点から見たグローバル変数であるだけです。

var は変数のプロモーションをサポートしているため、var 変数のグローバル スコープはページ全体のスクリプト コードに対して有効ですが、let と const は変数のプロモーションをサポートしていないため、let のグローバル スコープはconst変数が参照するのはページ全体の宣言文の先頭からスクリプトコードの最後までの全領域であり、宣言文より前の領域は無効となります。

同様に、var は変数のプロモーションをサポートしていますが、let と const は変数のプロモーションをサポートしていないため、var を使用して宣言されたローカル変数は関数全体で有効ですが、let と const を使用して宣言されたローカル変数は関数の先頭から有効です。宣言文から関数の末尾までが有効となります。ローカル変数とグローバル変数が同じ名前である場合、関数スコープ内ではローカル変数がグローバル変数を上書きする、つまり、ローカル変数は関数本体内で機能しますが、関数本体外では機能することに注意してください。グローバル変数は機能し、ローカル変数も機能します。変数は無効であり、ローカル変数を参照すると構文エラーが発生します。

ブロックレベル変数の場合、そのスコープはブロックレベル変数宣言ステートメントの先頭とブロックの末尾の間の領域です。ブロックの先頭からブロックレベル変数宣言文までの領域は「一時的な不感帯」となり、この領域ではブロックレベル変数は無効となります。

さらに、非厳密実行モードでは、変数を宣言する必要はありません。これらの宣言されていない変数は、どこで使用されるかに関係なく、グローバル変数です。変数を宣言せずに直接使用することは、見つけにくいエラーが発生する可能性があるため、通常はお勧めできません。

[推奨学習: JavaScript 上級チュートリアル]

以上がJavaScriptにはいくつかの変数がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。