プリミティブデータ型についてと、関数のスコープ
javascriptについて、自分が作りたいものを作ってるだけだと
なかなか基礎的な部分が身につかない。
休日など、時間があるときに本読んで
深くまで理解できるようになりたい。
プリミティブデータ型
値を割り当ててないと、undefinedになる
var a; typeof a;
数値に変換できないときにNaNになる
var s = '1s'; s++;
関数のスコープ
・関数内で書かれた変数については外に影響しない
・グローバルで書かれた変数については中で取得可
var b = 4; (function(){ alert(b); })();
即時関数も、外から内への影響はあるが
中のものは外へ影響しない。
グローバル変数とローカル変数
ふつうなら、はじめのalertで291、次にalertで3が
きそうですが実際は、はじめにundefined、次に3がきます。
関数の定義を実行前に、行う為
関数内にローカル変数が作られそちらが優先されます。
var a = 291; function f(){ alert(a); //関数の定義の際に、ローカル変数aが入ってれば //ローカル変数aが優先される var a=3; alert(a); } f();