我有一个对象
myObject = {
fontFamily : 'Tahoma',
fontSize: '12',
color : '000000'
}
默认选项
myDefaults = {
fontFamily : 'Tahoma',
fontSize: '15',
color : 'FF0000',
weight : 'bold',
decoration : 'underline'
}
现在我想将它们与jQuery.extend()
合并。
我的合并规则是:如果myObject
中未定义属性,请使用myDefaults
的属性。
我的意思是,在myDefaults
的帮助下填空。
我尝试使用$.extend
。但我遇到意想不到的结果。现在我很困惑。这是$.extend
无法完成的事情吗?
我的预期结果是:
myObject = {
fontFamily : 'Tahoma',
fontSize: '12',
color : '000000',
weight : 'bold',
decoration : 'underline'
}
谢谢。
答案 0 :(得分:1)
single quote
尝试此问题后,underline
出现问题,
myDefaults = {
fontFamily : 'Tahoma',
fontSize: '15',
color : 'FF0000',
weight : 'bold',
decoration : 'underline'
//// you missed -------^
}
myObject = {
fontFamily : 'Tahoma',
fontSize: '12',
color : '000000'
}
myObject=$.extend({},myDefaults,myObject);
console.log(myObject);
答案 1 :(得分:0)
使用$.extend()之类的
myDefaults = {
fontFamily: 'Tahoma',
fontSize: '15',
color: 'FF0000',
weight: 'bold',
decoration: 'underline'
}
myObject = {
fontFamily: 'Tahoma',
fontSize: '12',
color: '000000'
}
myObject = $.extend({}, myDefaults, myObject)
演示:Fiddle