ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript での変数の定義と vardeclaration_javascript スキルの有無の違いについての簡単な説明

JavaScript での変数の定義と vardeclaration_javascript スキルの有無の違いについての簡単な説明

WBOY
WBOYオリジナル
2016-05-16 16:39:121053ブラウズ

少し前に、変数を定義するときにキーワード var を使用する場合と使用しない場合の違いについての質問に答えました。それを要約しましょう。

1. 関数スコープでは、var を使用して定義された変数はローカル変数、var を使用せずに定義された変数はグローバル変数になります。
var 定義を使用します:

var a = 'hello World';
function bb(){
 var a = 'hello Bill';
 console.log(a);  
}
bb()      //'hello Bill'
console.log(a);  //'hello world'

var 定義を使用しないでください:

var a = 'hello World';
function bb(){
 a = 'hello Bill';
 console.log(a);  
}
bb()      //'hello Bill'
console.log(a);  //'hello Bill'

2. グローバル スコープでは、var を使用して定義された変数は削除できませんが、var を使用せずに定義された変数は削除できます。これは、暗黙的なグローバル変数は厳密には実際の変数ではなく、グローバル オブジェクトの属性であるためです。 delete で削除できますが、変数は削除できません。

3. var を使用して変数を定義すると、変数宣言も促進されます。つまり、
var 定義を使用します:

function hh(){
 console.log(a);
 var a = 'hello world';
}
hh()      //undefined

var 定義を使用しないでください:

function hh(){
 console.log(a);
 a = 'hello world';
}
hh()      //'a is not defined'

あらかじめvarで定義した変数の宣言です。

4. ES5 の「use strict」モードでは、変数が var を使用して定義されていない場合、エラーが報告されます。

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