240 发简信
IP属地:江西
  • 120
    【Note】《有限与无限的游戏》

    断断续续读了两个多月,可能是单字耗时最长的一本书,也是逻辑快感收益最大的一本书。几个月前,美团打车上线上海,迅速拿下30%的市场份额,舆论一片哗然,认为新秀公司TMD有着非常...

  • 120
    接纳、包容真实的自己,你将更加快乐

    今天早晨有点不高兴,一是因为今天早上6点到晚上11点停电,也停水,早晨起来没有热水喝,只喝了一点温水,用了囤的水洗漱,心理很压抑;二是因为没睡醒;三是因为周一综合症;四是手机...

  • ES6 import/export用法

    export正确用法 输出变量 输出多个变量 输出函数 输出别名 export错误用法 import用法 需要注意的是 import是在代码编辑阶段执行的 导入变量 导入别名...

  • var extend = function() {
    // 对象类型判断
    var isObj = function(x) {
    var B1 = x instanceof Array
    var B2 = x instanceof Object
    return !B1 && B2
    }
    // 数组类型判断
    var isArr = function(x) {
    return x instanceof Array
    }
    // 对象、数组的深拷贝
    var deepCopy = function(x) {
    return JSON.parse(JSON.stringify(x))
    }

    var len = arguments.length
    switch(len) {
    case 0: return {}
    case 1: return arguments[0]
    default: {
    var obj = isObj(arguments[0]) ? arguments[0] : {}

    for(var i=1; i<len; i++) {
    var item = arguments[i]
    if (isObj(item)) {

    for (var k in item) {
    var val = item[k]
    if (isObj(val)) {
    obj[k] = extend(obj[k], val)
    } else if(isArr(val)) {
    obj[k] = deepCopy(val)
    } else {
    obj[k] = val
    }
    }
    }
    }
    return obj
    }
    }
    }

    使用instanceof进行变量类型判断
    将arguments中的非对象变量丢弃
    对对象类型的变量进行深扩展(对象内的数组类型会被深拷贝但不会进行扩展)
    当第一个参数为对象类型时,该变量源会被修改,
    当第一个参数为非对象时,该变量源不会被修改,而是创建一个新的对象进行扩展操作。

    如有问题,欢迎指正。

    Javascript扩展对象extend实现

    jQuery的$.extend方法是我们在开发中经常用到的方法,用于合并若干个对象,且支持深度拷贝。 最常见的一个使用场景是参数的合并,比如我们要做一个显示对话框的组件,接收...

  • 二维火面试题整理

    问题: 1.使用过gulp、webpack吗?有没有重写过他们 2.你们公司是如何区分开发环境,测试环境的 3.nginx都可以用来干什么 4.反向代理是什么 5.用的什么版...

  • 吃过饭后会写写毛笔字、或者跑跑步消消食:relieved:。晚上还会看看电视。