2009年5月26日火曜日

JavaScriptスコープ

JavaScriptにおける変数のスコープは
ブロックスコープを持たず
関数内であれば、関数内のどの変数にもアクセスできる。
関数外からはアクセス不可

var func = function() {
var a = 3, b = 1;
var inner = function() {
// var b = 7;とするとbは再定義され外側のbへは影響しない
b = 7; //外側の関数内の変数にアクセス可能
};
alert(b); //1
alert(a); //3
{
var a = 2;
}
alert(a); //2 ブロックスコープはないためaが上書きされる
inner();
alert(b); //7
};
var x = new func();

0 件のコメント: