• 总结


    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)

  • 相关阅读:
    FTP和SSH的区别
    Hadoop之回收站
    什么是簇?
    linux中环境变量的配置
    windows系统中的系统变量和用户变量,以及配置JDK中各个参数的意义
    linux 中yum和rpm 总结
    ajax请求之async:false/true的作用
    JavaScript eval() 函数的用法
    js模式
    数组的一些操作
  • 原文地址:https://www.cnblogs.com/joer717/p/10686267.html
Copyright © 2020-2023  润新知