【javascript】ECMAScript における this
thisがどこにあると何になるか。
this が グローバルオブジェクトになる
- this がグローバルコードにある
- this が関数コードにあり、関数が単体で呼び出された
- apply や call の第1引数が null または undefined
this が 呼び出したオブジェクトになる
- this が関数コードにあり、関数がオブジェクトから呼び出された
- apply や call の第1引数が null でも undefined でもない(第1引数がオブジェクトのとき、そのオブジェクト。そうでないとき、第1引数の値を Object 型に変換したオブジェクト。)
- グローバルオブジェクトとは
- ブラウザで実行するJavascriptではwindowのこと。ECMAScript(Javascript, Actionscript etc.)ではグローバルオブジェクトが必ず存在し、いつでも利用可能です。
- グローバルコードとは
- グローバルコードとは関数以外のオープンなコードのこと。Javascriptがコンパイルされた後、直ちに実行されます
おまけ
(function(){return this})() と書くとソースのどんな場所からでも Global オブジェクトを取得できる。
コメント