2012-10-22 72 views
2

如何合併2個鍵值對defaultDialogSetup和setupArray?在javascript中加入2個鍵值對選項對象

var defaultDialogSetup = { modal: true, show: 'fade', hide: 'fade' }; 

var setupArray = { 
       open: function (e) { $(this).load($(link).attr('href')); }, 
       title: link.innerHTML,    
       width: 300, 
       height: 250, 
       buttons: 
       { 
        "OK": function() { createTemplate($(this), $('form', this)); }, 
        "Cancel": function() { $(this).dialog("close"); } 
       } 
      }; 

$dialog.dialog(setupArray); 

回答

4

使用jQuery.extend()

http://api.jquery.com/jQuery.extend/

合併兩個或多個對象的內容一起進入第一 對象。

setupArray = $.extend(defaultDialogSetup, setupArray); 
+0

感謝它的工作。我只是尋找JavaScript而不是jQuery,並沒有發現任何東西。 – Elisabeth

1

另一種選擇是UnderscoreJS延伸()

http://underscorejs.org/#extend

複製所有源對象到目標對象的屬性,並返回目標對象。它是有序的,所以最後一個源將在先前的參數中覆蓋相同名稱的屬性。

的語法是非常相似的jQuery方法:

setupArray = _.extend(defaultDialogSetup,setupArray);