与jQuery的extend方法等效的JavaScript
背景 我有一个将config对象作为参数的函数。在函数中,我也有default对象。这些对象中的每个对象都包含本质上用作属性的其余代码设置的属性。为了避免必须指定config对象中的所有设置,我使用jQuery的extend方法来填充一个新对象,如果未在对象中指定settings默认值,则使用该default对象的任何默认值config: var config = {key1: value1}; var default = {key1: default1, key2: default2, key 3: default 3}; var settings = $.extend(default, config); //resulting properties of settings: settings = {key1: value1, key2: default2, key 3: default 3}; 问题 这很好用,但是我想在不需要jQuery的情况下重现此功能。是否有使用普通ol'javascript做到同样优雅(或接近)的方法? 编辑:不重复的理由 这个问题不是“ 如何动态合并两个JavaScript对象的属性? ”问题的重复。那个问题只是想创建一个包含来自两个单独对象的所有键和值的对象-我特别想解决在两个对象共享一些但不是全部键并且哪个对象将获得优先权的情况下如何执行此操作(如果键重复,则结果对象的默认值)。更具体地说,我想解决使用jQuery方法来实现这一点的问题,并找到一种无需jQuery的替代方法。尽管两个问题的许多答案都重叠,但这并不意味着问题本身是相同的。