我想了解爲什麼當我使用回調函數和閉包時,我得到了不同的結果。顯示在控制檯關閉和爭論混淆
var cb = function(){
console.log("anim done");
}
var anim = Raphael.animation({
transform: 't0, 100'
}, 2000, cb);
circle.animate(anim);
當運行此,所討論的圓動畫,和2秒後的一個「動畫完成」消息:
第一種情形。
第二場景:
var cb = function(msg){
console.log("anim done");
}
var anim = Raphael.animation({
transform: 't0, 100'
}, 2000, cb("test"));
circle.animate(anim);
這導致回調(CB)被立即執行。這導致「即將完成」消息立即顯示。
有人可以澄清這裏發生了什麼嗎?
你的第二種情況是錯過了大括號。 – Bergi 2013-02-09 01:28:05
它沒有注意到任何缺失的大括號。 – Genu 2013-02-09 01:33:17
我已經添加了。它應該給出一個相當大的語法錯誤:-) – Bergi 2013-02-09 01:42:49