这里做的是连接 oldSettingsnewSettings .

这里的最后一个可以再改进一下,还是最好的?

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
});