• ES6


    严格模式必须遵循以下规则:

      变量名必须声明后再使用

      函数的参数不能同名

      不能使用with语句

      不能对只读属性赋值

      不能使用前缀0表示八进制数

      不能删除不可删除的属性

      eval不会再它的外层作用域引入变量

      eval和arguments不能被重新赋值

      不能使用arguments.callee、arguments.callee.caller

      禁止this指向全局对象window

      不能使用fn.caller和fn.arguments获取函数调用堆栈

      增加保留字(比如protected、static、interface)

    箭头函数:

      箭头函数是对JavaScript this绑定错误的处理。

      目前掌握的this用法:

          this 在对象的属性中,指向window

          this 在对象的方法中,指向调用该方法的对象

          this 在回调函数中使用,会指向window因为在回调函数中,this指向哪个函数都会说不通,因此this自动会重新指向window

          this 在事件侦听函数中使用,this指向添加事件侦听的对象

          this 在箭头函数中,指向函数外部

     

    Symobl:

        表示独一无二的。作用:消除魔术字符串,设置对象的属性不可修改

    生成器函数:

      

     1 function* fn(a,b){
     2             yield a;
     3             a++;
     4             yield a;
     5             yield b;
     6             b++;
     7             yield b;
     8             yield a+b;
     9             return a+b;
    10         } 
    11         var a=fn(3,4);
    12         /* console.log(a.next());
    13         console.log(a.next());
    14         console.log(a.next());
    15         console.log(a.next());
    16         console.log(a.next());
    17         console.log(a.next()); */
    18         for(let value of a){
    19             console.log(value);
    20         }

    解构赋值:

      解构赋值分为两种: 数组的解构赋值,对象的解构赋值

      作用1:交换值

              [arr[i],arr[i+1]] = [arr[i+1],arr[i]];  
     
      作用2:给函数参数设置初始值
      
      
    1         function fn([a,b=2]){
    2             console.log(a,b);
    3         }
    4         fn([3,5]);     // 3 , 5
    5         fn([4]);       // 4, 2

      

      作用和数组解构的作用因该是一致的

            如果多重对象解构时,属性名相同,可以使用:设置新的属性名
              var {a,b:{a:a1}} = {a:1,b:{a:2}};  console.log(a,a1); // 1,2 
            输出b的话会报错,因为b属性被解构了,就不存在了,所以要重新设置b属性,如果要输出b,就得在写一个。
              var {a,b:{a:a1},b} = {a:1,b:{a:2}};  console.log(a,a1,b); // 1, 2, {a:2} 
  • 相关阅读:
    uva 10127
    POJ 3280 Cheapest Palindrome
    看图学英语
    看图学英语
    算法 Tricks(四)—— 获取一个数二进制形式第一个不为 0 的位置
    算法 Tricks(四)—— 获取一个数二进制形式第一个不为 0 的位置
    Opencv Surf算子中keyPoints,描述子Mat矩阵,配对向量DMatch里都包含了哪些好玩的东东?
    强大的 function adapters
    强大的 function adapters
    transform、accumulate —— C++ 下的 MapReduce
  • 原文地址:https://www.cnblogs.com/wangjingzhi/p/12178450.html
Copyright © 2020-2023  润新知