zoukankan      html  css  js  c++  java
  • es6注意点

    补救方法:

     详情:http://es6.ruanyifeng.com/#docs/array

    取出文本内容 

    实现深拷贝

    jq实现不完全深拷贝

    jQuery.extend = jQuery.fn.extend = function () {
        var options, name, src, copy, copyIsArray, clone,
            target = arguments[0] || {},
            i = 1,
            length = arguments.length,
            deep = false;
        // Handle a deep copy situation  
        if (typeof target === "boolean") {
            deep = target;
            target = arguments[1] || {};
            // skip the boolean and the target  
            i = 2;
        }
        // Handle case when target is a string or something (possible in deep copy)  
        if (typeof target !== "object" && !jQuery.isFunction(target)) {
            target = {};
        }
        // extend jQuery itself if only one argument is passed  
        if (length === i) {
            target = this;
            --i;
        }
        for (; i < length; i++) {
            // Only deal with non-null/undefined values  
            if ((options = arguments[i]) != null) {
                // Extend the base object  
                for (name in options) {
                    src = target[name];
                    copy = options[name];
                    // Prevent never-ending loop  
                    if (target === copy) {
                        continue;
                    }
                    // Recurse if we're merging plain objects or arrays  
                    if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)))) {
                        if (copyIsArray) {
                            copyIsArray = false;
                            clone = src && jQuery.isArray(src) ? src : [];
                        } else {
                            clone = src && jQuery.isPlainObject(src) ? src : {};
                        }
                        // Never move original objects, clone them  
                        target[name] = jQuery.extend(deep, clone, copy);
                        // Don't bring in undefined values  
                    } else if (copy !== undefined) {
                        target[name] = copy;
                    }
                }
            }
        }
        // Return the modified object  
        return target;
    };
    

      

    取巧的方式:

    JSON.stringify()和
    JSON.parse()
  • 相关阅读:
    剑指offer——包含min函数的栈
    剑指offer——顺时针打印矩阵
    剑指offer——二叉树的镜像
    剑指offer——树的子结构
    爬虫的单线程+多任务异步协程:asyncio 3.6
    爬虫中的模拟登陆,IP代理,线程池
    爬虫-数据解析
    爬虫基础
    Markdown语法
    Git
  • 原文地址:https://www.cnblogs.com/smzd/p/8609898.html
Copyright © 2011-2022 走看看