javascriptのsetTimeout

setTimeoutについては知ってるつもり.

まー,普通にコードを書いている分には困ったことがなかったんだけど,

もう一度整理して細かなポイントを引き出す.

良く使う表現としてDOMセレクタを以下の用に表現しています.今時普通ですが.

var $ = function (elem) {
    return document.getElementById (elem);
};

setTimeoutとは

一言でいうなら,タイマーイベントを発生させる機構.

JavaScriptコアはシングルスレッドで振る舞うものなので,

スレッドを発生させている訳ではない.

評価と実行順序

// Ex.1
setTimeout (function () {
    try {
	alert ("Exp.1 : " + $ ("test").innerHTML);// Exp.1
    } catch (e) {
	alert ("Exp.1 Error : " + e);
    }
}, 0);

try {
    alert ("Exp.2 : " + $ ("test").innerHTML);// Exp.2
} catch (e) {
    alert ("Exp.2 Error : " + e);
}

上のコードだと,Exp.2が先に実行される.

また,Exp.2はHTMLの読み込みが完了していない場合はエラーを返す.((