front-js-utils
Version:
- 1)函数相关 - 2) 数组相关 - 3)对象相关 - 4)字符串相关 - 5)手写继承 - 6)手写事件监听(带委托) - 7)手写ajax请求(类似axios) - 8)手写事件总线 - 9)手写消息订阅与发布 - 10)手写Promise(暂时未加上)
25 lines (24 loc) • 705 B
JavaScript
// 浅拷贝:只是复制了对象属性或数组元素本身(只是引用地址值)
// 深拷贝:不仅复制了对象属性或数组元素本身,还复制了指向的对象(使用递归)
export function clone1(target) {
if(target instanceof Array) {
return [...target]
} else if(target instanceof Object) {
return {...target}
} else {
return target
}
}
export function clone2(target) {
if(target !== null && typeof target === 'object') {
var cloneTarget = Array.isArray(target) ? [] : {};
for(var key in target) {
if(target.hasOwnProperty(key)) {
cloneTarget[key] = target[key];
}
}
return cloneTarget;
} else {
return target;
}
}