美文网首页
常见手撕代码

常见手撕代码

作者: 星月西 | 来源:发表于2017-09-27 13:47 被阅读280次

1.实现兼容IE的事件处理程序

//兼容IE的事件处理程序
function addEventListener(ele,type,callback){
    if(document.addEventListener){
        ele.addEventListener(type,callback);
    } else if(document.attachEvent){
        function wrapper(){
            let event=window.event;
            event.target=event.srcElement;
            callback.call(ele,event);
        }
        ele.attachEvent('on'+type,wrapper);
    }
}

2.编写深度克隆函数

function clone(obj){
    if(typeof obj!=='object' || obj===null){
        return obj;
    }

    if('cloneNode' in obj){
        return obj.cloneNode(true);
    }

    if(Object.prototype.toString.call(obj)==='[object Date]'){
        return new Date(obj.getTime());
    }

    let res=Array.isArray(obj)?[]:
        obj.constructor?new obj.constructor():{};

    for(let key in obj){
        res[key]=clone(obj[key]);
    }

    return res;
}

相关文章

  • 常见手撕代码

    1.实现兼容IE的事件处理程序 2.编写深度克隆函数

  • 常见的手撕代码题

    1,节流防抖 节流防抖题[https://github.com/Advanced-Frontend/Daily-I...

  • 手撕排序算法C++

    即将进入秋招阶段,面试手撕代码是常有的事情,所以呢,早点准备,以防万一。现场手撕代码,最常见的就是排序,今天先上来...

  • 手撕代码

    前端笔试和面试都难免要手撕代码,有些面试官还就喜欢看你现场写。诚然,一个程序员在写代码时很容易暴露问题,但也能展现...

  • 手撕代码

    二分法的查找 单例-懒汉式 单例-饿汉式 快速排序

  • 头条-手撕代码

    [toc] 图算法 以及最短路径算法 树算法 手写LRU 排序算法 链表算法

  • 复习之路

    总共分为五大部分: 论文细节及其扩展的深度学习知识 项目细节 机器学习基础知识 算法题(手撕代码) Linux常见...

  • 【手撕代码2】数组

    unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。会改变原数组 **pop() **方法用...

  • 想吃面包别出去买了,手把手教你做手撕包,香甜软糯,奶香浓郁

    手撕已经成为了中的一种常态,很多的是食品都有手撕版本,例如手撕牛肉,手撕豆腐干,手撕鸭,手撕鸡,手撕面包当然也有的...

  • 手撕鸡

    手撕鸡、手撕面包、手撕包菜、手撕牛肉,各种手撕做法,听起来就很手工的感觉。我做的手撕鸡纯粹懒人所为。 具体做法如下...

网友评论

      本文标题:常见手撕代码

      本文链接:https://www.haomeiwen.com/subject/tzzyextx.html