感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【JavaScript】スコープとグローバルオブジェクトについて

スポンサーリンク

JavaScriptのグローバルオブジェクト

windowオブジェクトや、他の環境でwindowと同等の働きをするオブジェクトは「グローバルオブジェクト」と呼ばれる。
すべてのJavaScriptの実行環境は、単一のグローバルオブジェクトを持たなければならない。

JavaScriptのグローバル関数

引数に渡したURLエンコードされた文字列をデコードし、その文字列を返す。

  • decodeURIComponent(encodedURIComponent)

引数として渡したURLエンコードされた文字列をデコードし、その文字列を返す

  • encodeURI(uri)

引数として渡した文字列にURLエンコードを行い、その文字列を返す

  • eval(x)

引数として渡した文字列をJavaScriptとして実行する

  • isFinite(number)

引数として渡した数値が実数かどうか評価する

  • isNaN(number)

引数として渡した数値がNaN(Not a Number)かどうかを評価する

  • parseFloat(string)

引数として渡した文字列を数値に変換する

  • parseInt(string, radix)

stringに渡した文字列を、radixに渡した底の値をもとに整数値に変換する

グローバル変数の例

<script>
var foo = 'hoge'; //グローバルオブジェクト直下に格納されたグローバル変数
var myFunc = function() {
	console.log(foo); //hogeが表示
}
myFunc();
</script>

関数のスコープの例

<script>
var myFunc = function() {
	var foo = "bar"; //fooはmyFuncのスコープ内
}

var myApp = function() {
	var run = function() {
		try {
			console.log(foo); //ここは参照エラーになる
		} catch(e) {
			console.log(e); //ReferenceErrorと表示される
		}
	}();
}

myApp();
</script>

上記の例で見たように、関数内で宣言した変数は関数内で有効な関数スコープを持つ。
var無しでx=1;のように宣言すると、JavaScriptはスコープチェーンをたどってxを検索し、xが見つからない場合は1を代入する。
そして、このxはグローバルスコープに追加される。

グローバルオブジェクトは暗黙的に参照されるため、window.alert()のように、参照を使う必要はない。

感謝のプログラミング

今回で感謝のプログラミングは【631時間目】
10000時間まで、あと【9369時間】