• ES6相关


    1.变量声明 let 和const

    传统的 var 关键字声明变量,会存在变量提升。在ES6中,我们用 let 和 const 声明,let 声明变量,const 声明常量,let 和 const 都是块级作用域,也就是说在大括号{}内的代码块就是let 和 const 的作用域。

    let 作用域在它当前所在的代码块中,不会被提升到当前函数的最顶端。

    const 定义的常量不可改变,再次赋值会报错。

    一道面试题

    var funcs = []
     
    for (var i = 0; i < 10; i++) {
      funcs.push(function() {
        console.log(i)
      })
    }
    funcs.forEach(function(func) {
      func()
    })
    这样的面试题是大家常见,很多同学一看就知道输出 10 十次,但是如果我们想依次输出0到9呢?两种解决方法。直接上代码。
    // ES5告诉我们可以利用闭包解决这个问题
    var funcs = []
    for (var i = 0; i < 10; i++) {
      funcs.push(
        (function(value) {
          return function() {
             console.log(value)
           }
        })(i)
      )
    }
    funcs.forEach(function(func) {
      func()
    })
     
    // 再来看看es6怎么处理的
    const funcs = []
    for (let i = 0; i < 10; i++) {
      funcs.push(
        function() { console.log(i) }
      )
    }
    funcs.forEach(func => func())

    作者:陈嘻嘻啊
    链接:https://www.jianshu.com/p/287e0bb867ae
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
     
     
    2.数组
     
    1.数组去重
    一、简单的去重方法
    // 最简单数组去重法
    /*
    * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中
    * IE8以下不支持数组的indexOf方法
    * */
    function uniq(array){
        var temp = []; //一个新的临时数组
        for(var i = 0; i < array.length; i++){
            if(temp.indexOf(array[i]) == -1){
                temp.push(array[i]);
            }
        }
        return temp;
    }
    
    var aa = [1,2,2,4,9,6,7,5,2,3,5,6,5];
    console.log(uniq(aa));

    二、ES6实现

    function unique(arr){
      return Array.from(new Set(arr));      
    }
    let arr = [1,2,3,3,4,4,5,5,6];
    console.log(unique(arr)); // [1,2,3,4,5,6]

    set 是ES6新出来的一种定义不重复数组的数据类型

    console.log(new Set([1,4,5,2,1,4,4,7]))
    // Set(5) {1, 4, 5, 2, 7}

    Array.from 是将类数组转化为数组

  • 相关阅读:
    uitoolbar 圆角
    json
    MFC 控件使用笔记
    automake和autoconf使用介绍
    [译]C# Socket连接请求超时机制
    linux 环境变量的配置
    OK6410,修改调试串口,屏蔽调试输出,增加启动画面
    UML图各类符号含义
    图解UML类与类之间的六中关系
    C#综合揭秘——深入分析委托与事件
  • 原文地址:https://www.cnblogs.com/lingnweb/p/8862549.html
Copyright © 2020-2023  润新知