ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript var とは何ですか

JavaScript var とは何ですか

青灯夜游
青灯夜游オリジナル
2021-06-09 14:08:446578ブラウズ

var は JavaScript の組み込みキーワードで、変数を宣言し、必要に応じて変数を値に初期化するために使用されます。構文形式は「var varname [=value];」で、パラメータ値には任意の有効な式を使用できます。 、デフォルト値は「未定義」です。

JavaScript var とは何ですか

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

JavaScript 変数の宣言 (作成)

JavaScript で変数を作成することを、変数の「宣言」といいます。

var キーワードを使用して JavaScript 変数を宣言できます。var ステートメントは変数を宣言し、オプションで変数を値に初期化します:

var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]];
  • varname : 変数名。変数名は、任意の法的な識別子として定義できます。

  • value: 変数の初期化値。値には任意の法的表現を使用できます。デフォルト値は未定義です。

説明:

変数宣言は、どこに出現しても、コードが実行される前に処理されます。 var で宣言された変数のスコープは、その現在の実行コンテキストです。これは、ネストされた関数にすることも、関数の外部で宣言された変数に対してグローバルに使用することもできます。 JavaScript 変数を再宣言しても、その値は失われません。

宣言されていない変数に値を代入する場合、代入の実行後、その変数は暗黙的にグローバル変数として作成されます (グローバル オブジェクトのプロパティになります)。

例:

1. 2 つの変数を宣言して初期化します:

var a = 0, b = 0;

2 つの変数を文字列値に割り当てます:

var a = "A";
var b = a;

// 等效于:
var a, b = a = "A";

順序に注意してください:

var x = y, y = 'A';
console.log(x + y); // undefinedA

ここでは、x と y はコードの実行前に作成され、代入操作は作成後に行われます。 "x = y" が実行されると、y はすでに存在するため、ReferenceError はスローされず、その値は「未定義」になります。したがって、x には値 undefined が割り当てられます。次に、y に「A」が割り当てられます。したがって、最初の行を実行した後、 x === unknown && y === 'A' がこの結果になりました。

#[関連する推奨事項:

JavaScript 学習チュートリアル #]

宣言された変数と宣言されていない変数の違いは次のとおりです:

1. 宣言された変数のスコープはその宣言場所のコンテキストに制限されますが、宣言されていない変数は常にグローバルです。

function x() {
  y = 1;   // 在严格模式(strict mode)下会抛出 ReferenceError 异常
  var z = 2;
}

x();

console.log(y); // 打印 "1"
console.log(z); // 抛出 ReferenceError: z 未在 x 外部声明

2. 宣言された変数はコードが実行される前に作成されますが、宣言されていない変数は代入操作が実行されるときにのみ作成されます。

console.log(a);                // 抛出ReferenceError。
console.log('still going...'); // 打印"still going..."。
Copy to Clipboard
var a;
console.log(a);                // 打印"undefined"或""(不同浏览器实现不同)。
console.log('still going...'); // 打印"still going..."。

3. 宣言された変数は、それが配置されているコンテキストの構成不可能なプロパティですが、宣言されていない変数は構成可能です (たとえば、宣言されていない変数は削除できます)。

var a = 1;
b = 2;
delete this.a; // 在严格模式(strict mode)下抛出TypeError,其他情况下执行失败并无任何提示。
delete this.b;
console.log(a, b); // 抛出ReferenceError。
// 'b'属性已经被删除。

これら 3 つの違いにより、変数の宣言に失敗すると、予期しない結果が生じる可能性が高くなります。したがって、変数が関数内にあるのか、グローバル スコープ内にあるのかにかかわらず、常に変数を宣言することをお勧めします。また、ECMAScript 5 厳密モードでは、宣言されていない変数に代入するとエラーがスローされます。

プログラミング関連の知識について詳しくは、

プログラミング ビデオ

をご覧ください。 !

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

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