はじめてのprototype.jsの前に知っておくべきことがあった2
スコープについて
javascriptのスコープはブロックでくくられてても関係ない。ファンクション単位。
var a = 10; if (true) { var a = 20; alert(a); // 20 } alert(a); // 20 var f = function() { var a = 10; alert(a); // 10 }();
グローバルオブジェクトについて
var a = 10; alert(window.a);
グローバル変数はwindowオブジェクト(グローバルオブジェクト)のプロパティになる。
また、関数内で明示的にvarを書かないで初期化すると、windowオブジェクトになる。
function func() { a = 10; }; func(); alert(window.a);
関数の引数について
function func() { for (var i = 0; i < arguments.length; i ++) { alert(arguments[i]); } }; func(1,2,3) // 1,2,3 を順に表示
関数を定義したときの引数の個数にかかわらず、任意個数の引数値を渡すことができる。
渡された引数はargumentsオブジェクトに格納される。