JavaScript setTimeout()
JavaScriptのsetTimeout()を調べていて、気づいたこと。
//myfunc()を1秒後に実行する
setTimeout('myfunc()', 1000);
setTimeout(mifunc, 1000);
1つ目のは’myfunc()’を文字列で指定、2つめは関数オブジェクトを渡しているだけの違い。
function myfunc(){
alert(this==window);
alert(this==myfunc);
}
昔調べたときは、
1つ目の文字列で渡した方はthis==windowがtrue、
2つ目の関数オブジェクトを渡した方は、this==myfuncがtrueになる違いがあったから使い分けてたけど、
調べ直すと、両方this==windowがtrueになっていた。
う〜む、、、
違いがわかりました。
調査の続きはこちらへ。