開発メモ

気負わずに、ちょくちょく勉強進めていきたい。。。

プリミティブデータ型についてと、関数のスコープ

javascriptについて、自分が作りたいものを作ってるだけだと
なかなか基礎的な部分が身につかない。

休日など、時間があるときに本読んで
深くまで理解できるようになりたい。

プリミティブデータ型

値を割り当ててないと、undefinedになる
 var a; typeof a;
数値に変換できないときにNaNになる
 var s = '1s';
 s++;

 

文字列から、ブーリアン型への変換 falseになる

 ( 文字列ははじめ、trueに変換されます)

 !!"dd"

関数のスコープ

・関数内で書かれた変数については外に影響しない
・グローバルで書かれた変数については中で取得可

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();