前端开发面试总结(八)

1、Object.assign()原理以及实现javascript

Object.assign()函数能够将对象中全部可枚举的值从一个或者多个对象复制到目标对象中,同时返回目标对象。程序示例:java

Object.assign(target, ...sources)
复制代码

浅拷贝就是拷贝第一层的基本类型的值,以及第一层的引用地址函数

2、实现简单的浅拷贝和深拷贝ui

一、浅拷贝spa

function cloneShallow(source){
    var target = {};
    for(var key in source){
        if(Object.prototype.hasOwnProperty.call(source, key)){
            target[key] = source[key];
        }
    }
    return target;
}
复制代码

2、深拷贝prototype

function cloneDeep(source){
    var target = {};
    for(var key in source){
        if(Object.prototype.hasOwnProperty.call(source, key)){
            if(typeof source[key] === "object"){    //若是源对象的属性也是对象的话,就递归调用本函数,继续解析
                target[key] = cloneDeep(source[key]);
            }else{  //若是源对象的属性不是对象的话,就直接赋值
                target[key] = source[key];
            }
        }
    }
    return target;
}
复制代码
相关文章
相关标签/搜索