我正在扩展两个JavaScript对象,其中一个是从文件中删除的变量,另一个是具有用户首选项的简单对象。
// local prefs
var prefs = { name: "Bob Barker", show: "Price is Right" };
// ajax in default prefs with dataType: "script"
var defaultPrefs = {
studio: { name: "CBS", location: "Hollywood, CA" },
producers: [ { name: "Producer1" }, { name: "Producer2" } ]
}
// merge prefs
var mergedPrefs = $.extend( prefs, defaultPrefs );
问题是我无法使用prefs.producers或prefs.studio访问生产者或工作室,因为它们是合并文件中的对象。我该如何解决?
最佳答案
尝试这个:
var mergedPrefs = $.extend({}, prefs, defaultPrefs);
扩展空对象将创建原始对象的新副本。
您也可以将
Object.assign
用于同一任务,但是jQuery.extend
还有一个深层的选项可以递归合并,而Object.assign
始终是平坦的(以获得更好的性能)。关于javascript - 在JavaScript中访问子对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36319857/