var extend = function (target, source) { for (var key in source) { target[key] = source[key]; } }; var target = {name: 'target', skill: 'JS'}; var source = {name: 'source', friends: ['小明', '小宋']}; extend(target, source); **疑問:為什么這里的 friends 提前變化了** console.log(target.friends); // ["小明", "小宋"] console.log(target); // {name: "source", skill: "JS", friends: [1, 2]} target.name = 'tom'; target.skill = 'PHP'; target.friends = [1, 2]; console.log(target.friends); // [1, 2] console.log(target); // {name: "tom", skill: "PHP", friends: [1, 2]}
JS淺拷貝時(shí)遇到的一個(gè)問題
慕仙森
2018-12-26 21:15:37