如何合并2个键值对defaultDialogSetup和setupArray?
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);
答案 0 :(得分:4)
使用jQuery.extend()
http://api.jquery.com/jQuery.extend/
将两个或多个对象的内容合并到第一个对象中 对象
setupArray = $.extend(defaultDialogSetup, setupArray);
答案 1 :(得分:1)
另一个选项是UnderscoreJS extend()
http://underscorejs.org/#extend
将源对象中的所有属性复制到目标对象,然后返回目标对象。它是有序的,因此最后一个源将覆盖先前参数中相同名称的属性。
语法与jQuery方法非常相似:
setupArray = _.extend(defaultDialogSetup,setupArray);