ざっくり分かるスクリプト
下のスクリプトを実行すると、どのようにalertが表示されるでしょう。
var obj = {}; setTimeout(function() { alert('D'); }); Object.observe(obj, function() { alert(obj.a); obj.a = 3; }); alert('A'); obj.a = 1; alert('B'); obj.a = 2; alert('C');
結果(反転) ⇒ A B C 2 3 D
(Chrome 36で確認)
即時 > Object.observe > setTimeout
の優先度で実行されるようです。