在使用Jquery開發的過程中,extend是常用的參數處理函數,特別是對預設值的使用。
Jquery的擴充方法原型是:
var v=$.extend(dest,src1,src2,[,src3...]);
作用是把src1,src2,src3合併到dest中並回傳合併後的dest.
但是在使用過程中,預設值往往是不能改變的,
如下:
var defaut={'selector':'select','default':'默认值','backcolor':'#85e137','forecolor':'#000'}; var src={'selector':'ss','default':'笑话','backcolor':'#fff','forecolor':'red'};
如果我們使用
var v=$.extend(dfault,src);
來進行參數的處理,那麼下次處理的時候預設值就是這次處理之後的值而不是真實的預設值了。
我們可以用下面的程式碼:
var v=$.extend({},dfault,src);
即我們使用一個空的物件作為目標參數(default),將預設參數作為第一次來源參數(src),這樣同樣是返回了合併後的參數,但是我們的default沒有被改變,還可以再次使用!
這樣就實現了預設值不變的效果了!