前提,老生常谈的,基本变量传值,对象传址
那么怎么拷贝一个对象呢
简单方法
const target = JSON.parse(JSON.stringify(source));
缺点不能拷贝方法,拷贝数据还是可以的。
复杂一点的方法
function defineMethods(protoArray, nameToFunc) {
protoArray.forEach(function(proto) {
var names = Object.keys(nameToFunc),
i = 0;
for (; i < names.length; i++) {
Object.defineProperty(proto, names[i], {
enumerable: false,
configurable: true,
writable: true,
value: nameToFunc[names[i]]
});
}
});
}