• 总结


    1.箭头函数和普通函数的区别

    箭头函数是匿名函数,不能作为构造函数,不能使用new

    箭头函数不绑定arguments,取而代之用rest参数...解决

    箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值

    箭头函数没有原型属性

    2.数组去重

    var newArray = [];
        function uniq(array){
            for(var i=0;i<array.length;i++){
                if(newArray.indexOf(array[i])<=-1){
                    newArray.push(array[i])
                }
            }
            return newArray;
        }
        var arr = [1,2,3,4,21,3,5,2,1,2,43,23]
        console.log('第一种去重方法'+uniq(arr).toString())
    
    
        function uniq2(array){
            array.sort();
            let arrayNew = [array[0]];
            for (var i=1;i<array.length;i++) {
                if(array[i] !== arrayNew[arrayNew.length -1 ]){
                    arrayNew.push(array[i])
                }
            }
            return arrayNew;
        }
    
        console.log("第二种去重方法"+uniq2(arr).toString())
    
    
        function  uniq3(array) {
              var newArray3 = [];
              for(var i=0;i<array.length;i++){
                  if(array.indexOf(array[i])=== i){
                      newArray3.push(array[i])
                  }
              }
              return newArray3;
        }
        console.log("第三种去重方法"+uniq3(arr).toString())

    3.深拷贝和浅拷贝

    就是假设B复制了A,

    当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,

    如果B没变,那就是深拷贝,自食其力。

    function deepclone(obj){

         var newobj = JSON.stringify(obj)

         var cloneobj = JSON.prase(newobj)

          return  cloneobj

    }

    还可以用extend方法  依赖与jquery

    $.extend([deep],target,object1,........)

    b=$.extend(true,[],a)

  • 相关阅读:
    操作系统的发展史
    多线程的些许理解(平台x86,具体考虑linux,windows)
    C++ 11 智能指针
    C++虚函数和纯虚函数
    Qt之excel 操作使用说明
    查找之二叉排序树
    图的一些总结
    树的一些总结
    直接插入排序
    冒泡和选择排序
  • 原文地址:https://www.cnblogs.com/joer717/p/10686267.html
Copyright © 2020-2023  润新知