这里做的是连接 oldSettings 和 newSettings .
这里的最后一个可以再改进一下,还是最好的?
It went from this: 我被告知是错误的 .
https://jsfiddle.net/g6oaht8f/23/
function combineSettings(oldSettings, newSettings) {
const playerVars = Object.assign({}, oldSettings.playerVars, newSettings.playerVars);
const settings = Object.assign({}, oldSettings, newSettings);
settings.playerVars = playerVars;
return settings;
}
To this:
https://jsfiddle.net/g6oaht8f/27/
function combineSettings(oldSettings, newSettings) {
const oldPlayerVars = oldSettings.playerVars;
const newPlayerVars = newSettings.playerVars;
const settings = Object.assign({}, oldSettings, newSettings);
const playerVars = Object.assign({}, oldPlayerVars, newPlayerVars);
settings.playerVars = playerVars;
return settings;
}
To this: Last Rendition
https://jsfiddle.net/g6oaht8f/28/
function combineSettings(oldSettings, newSettings) {
const oldPlayerVars = oldSettings.playerVars;
const newPlayerVars = newSettings.playerVars;
const settings = Object.assign({}, oldSettings, newSettings);
settings.playerVars = Object.assign({}, oldPlayerVars, newPlayerVars);
return settings;
}
Can this last one be improved further?
oldSettings ,将指的是“ defaultSettings ”,它们都是从它们开始的 .
playerVars: {
autoplay: 1,
controls: 1,
showinfo: 1,
rel: 0,
iv_load_policy: 3,
cc_load_policy: 0,
fs: 0,
disablekb: 1,
},
newSettings 将是每个加载播放器中指定的内容 .
loadPlayer({
target: ".jacketc",
width: 600,
height: 338,
start: 200,
end: 205,
loop:true
});