Javascriptスコープ
858 ワード
スコープは何ですか?
スコープとは、変数がコードで使用できる範囲のことです.
Javascriptのスコープ varで定義された変数 一つの関数で変数をvarで宣言すると、この変数のスコープはこの関数内になります.
つまりこの変数はこの関数だけで使用できます.関数の外部では使用できません.
同様に、この関数で定義された関数もこの変数を使用することができます. varで定義されていない変数 関数内でvarで定義されていない変数のスコープはこの関数に限定されません.
Javascriptは、この変数が初めて定義される場所を見つけるまで、スコープチェーンを追跡します.
もしwindowの作用域まで遡っても見つからないなら、この変数は大域的な作用域に与えられます.
関数のスコープ例
関数内で関数外変数にアクセスできます.
この関数はこの変数のスコープ内にあるからです.
この変数のスコープは関数内にあるからです.
スコープとは、変数がコードで使用できる範囲のことです.
Javascriptのスコープ
つまりこの変数はこの関数だけで使用できます.関数の外部では使用できません.
同様に、この関数で定義された関数もこの変数を使用することができます.
Javascriptは、この変数が初めて定義される場所を見つけるまで、スコープチェーンを追跡します.
もしwindowの作用域まで遡っても見つからないなら、この変数は大域的な作用域に与えられます.
関数のスコープ例
関数内で関数外変数にアクセスできます.
この関数はこの変数のスコープ内にあるからです.
var message = 'hello';
var sayHello = function() {
console.log(message);
}
sayHello(); //logs 'hello'
console.log(message); //logs 'hello'
関数外では関数内の変数にアクセスできません.この変数のスコープは関数内にあるからです.
var sayHello = function(){
var message = 'goodbye';
console.log(message)
}
sayHello(); //logs 'goodbye'
console.log(message); // error