var
cb = $.callbacks(), // 定義callbacks物件
fn1 = function(),
fn2 = function();
cb.add( a,b );
cb.fire();
無參方式很容易處理,只要執行add
和fire
方法即可。
var
cb = $.callbacks(), // 定義callbacks物件
fn1 = function( param ),
fn2 = function(param);
cb.add( a,b );
cb.fire('fn1','fn2');
這個時候你會發現,彈出了兩次fn1,並不是自己期待的結果,感覺這裡jq存在bug,測試中使用的是jq-2.1.4的版本。研究原始碼是發現,這個地方確實存在傳參的問題,於是動手改造了一下。
第一處改造:原始碼:
改後的**:
注意3099行**的區別。
第二處改造:原始碼:
改造後的**:
注意3207**的區別。
關於函式傳參問題
swap的功能就是個簡單交換兩個數的值 在主函式中呼叫 swap array j 1 array j 那真正傳遞的什麼引數呢?關於這個問題和acm群裡的大牛們討論完並真正測試後,得到爭取結論 函式傳遞都是從後往前傳的,就是第乙個引數最後傳,最後乙個第乙個傳,所以是先傳array j 然後j j 1,...
關於多執行緒傳參問題
無引數 我們都知道使用多執行緒最簡單的方式是下面這樣 void somemethod void createthread 乙個引數 但是如果要是想給somemethod方法傳入引數的話,發現這種方法不好用了 因為thread類並不支援這樣 但是為了解決這個問題,類庫中提供了乙個支援的 使用它可以支援...
關於多執行緒傳參問題
無引數 我們都知道使用多執行緒最簡單的方式是下面這樣 void somemethod void createthread 乙個引數 但是如果要是想給somemethod方法傳入引數的話,發現這種方法不好用了 因為thread類並不支援這樣 但是為了解決這個問題,類庫中提供了乙個支援的 使用它可以支援...