2011-06-23 179 views
1

我想從jQuery的擴展對象

var x = $.extend({}, obj1, obj2); 

延長道場對象與此類似這是一個解決方案

var x; 
dojo.extend(x,obj1); 
dojo.extend(x,obj2); 

或者,我可以做

dojo.extend(x,obj1,obj2); 

這是可用

var x = dojo.extend(obj1, obj2); 

回答

2

如果要實現相同的語義$.extend(),你必須使用dojo.mixin()代替dojo.extend()(延伸原型):

var x = dojo.mixin({}, obj1); 
dojo.mixin(x, obj2); 

編輯:如果你想保留的代碼上一個線,你可以這樣做:

var x = dojo.mixin(dojo.mixin({}, obj1), obj2); 
+0

它是否需要多個參數,這是可能的'var x = dojo.mixin({},obj1,obj2); –

+0

和另一個查詢...假設我做了'var x = dojo.mixin({},dojo.mixin(obj1,obj2)); ',現在obj1將被改變..我是對嗎? –

+0

@Boopathi,它只需要兩個參數,是的,在第二個例子中'obj1'確實會被修改。 –