zoukankan      html  css  js  c++  java
  • ES6总结

    历史介绍

    1. ECMAScript是ECMA组织编写的一个标准,JavaScript实现了ECMAScript。
    2. ECMAScript简称ECMA或者ES

    兼容性

    因为ES6的出现晚于各大浏览器的出现时间,所以兼容性并不好

    • ES6大部分支持:IE10,Chrome,FireFox,移动端,NodeJS
    • 解决ES6兼容性的两种方法:
      1. 在线转化
      2. 提前编译

    目录

    1. 变量
    2. 函数
    3. 数组
    4. 字符串
    5. 面向对象
    6. Promise
    7. generator
    8. 模块化

    1.变量

    var

    1. 可以重复声明
      var a = 10;
      var a = 2;
      alert(a);//提示2
      
    2. 无法限制修改
      • 比如没有常量的概念
    3. 没有块级作用域

    let和const

    1. let和const不能重复声明
    2. let定义出来的是变量,可以修改
    3. const定义的是常量,不可以修改
    4. let和const是块级作用域

    2.函数

    1. 箭头函数

      1. 如果只有一个参数,()可以省略
      2. 如果只有一个return,{}可以省略
      实例:
      
      window.onload=function (){
          alert("加载完成");
      }
      
      window.onload=()=>{
          alert("加载完成");
      }
      
      1. 如果只有一个参数
      window.onload=function (a){
          alert("加载完成");
      }
      
      等同于
      
      window.onload=a=>{
          alert("加载完成");
      }
      
      2. 如果只有一个return
      window.onload=function (){
          return "life";
      }
      
      window.onload=()=>"life";
      
      

      箭头函数只是一个简写,可以完全不用

    2. 函数的参数

      1. 参数的扩展/展开
      show(a,b)=>{
          alert(a);
          alert(b);
      }
      
      show(12,5,9,5);
      
      //上面的情况,浏览器只会弹出两个数,即a和b
      
      show(a,b,...arges)=>{
          alert(a);
          alert(b);
          //arges
      }
      
      show(12,5,5,6);
      
      //对参数进行扩展之后,传入的前两个参数会被分别赋值给a和b,剩下的会被存入arges中,arges可以是其他任意名称。
      
      1. 展开数组
      let arr=[1,2,3,4];
      
      //...arr
      
      等价于遍历数组
      1,2,3,4
      
      1. 默认参数
      function show(a,b,c){
          alert(a+b+c);
      }
      
      show(1,2,3);// 6
      
      //默认参数
      
      function show(a,b=3,c=6){
          alert(a+b+c);
      }
      
      show(1);// 10
      
      

    解构赋值

    前提:

    1. 左右两边结构必须一样
    2. 右边必须是个东西
    3. 声明和赋值不能分开,必须在一个语句中完成

    实例:
    ```
    let arr=[1,2,3]

    let a = arr[1]
    let b = arr[2]
    let c = arr[3]
    
    //解构赋值
    
    let [a,b,c] = [1,2,3]
    
    
    ```
    

    数组

    1. map 映射

      对数组中的元素进行特性的操作,返回对应的数组

      let arr = [11,22,33]
      
      let result = arr.map(function (item){
          return item*2;
      });
      
      //其中item表示的本轮循环中取到的元素
      
    2. reduce 汇总

      let arr = [1,2,3,4,5]
      let result = arr.reduce(function (tmp,item,index){
          return tmp+item;
      })
      
      /* tmp:第一轮存储的是数组中的第一个元素,以后存储的都是上一次的返回值
       * item:表示本轮循环取到的值
       * index:当前的下标,默认从1开始
       */
      
    3. filter 过滤器

      let arr = [1,2,3,4,5]
      let result = arr.filter(function (item){
          return item%3 == 0 ? true:false;
      })
      
      //根据返回值判断是否要留
      
    4. forEach 迭代

      let arr = [1,2,3,4,5]
      let result = arr.forEach(function (item,index){
          alert(item);
      });
      

    字符串

    1. startWith
      let arr = 'adsfsdagafd'
      arr.startWith('a');
      
    2. endWith
      let arr = 'adsfsdagafd'
      arr.endWith('a');
      
    3. 字符串模板
      `:返单引号
      `<h1>${tilte}</h1>`
      
      等同于
      '<h1>'+title+'</h1>''
      
      

    面向对象

    1. 定义一个类

      class User{
          constructor(name,pass){
              this.name=name;
              this.pass=pass;
          }
          
          showName{
              alert(this.nmae);
          }
          
          showPass{
              alert(this.pass);
          }
      }
      
      var u = new User('blue','123456');
      
      u.showName();
      
      
  • 相关阅读:
    SparkSQL & Spark on Hive & Hive on Spark
    Elasticsearch和Scala类型转换
    Java和Scala容器转换
    Spark应用远程调试
    scala下划线的用法
    Maven打包方式
    安装ElasticSearch遇到的深坑
    SparkSQL JDBC和JDBCServer区别
    source命令用法:source FileName
    System.getProperty()
  • 原文地址:https://www.cnblogs.com/charlottepl/p/13705531.html
Copyright © 2011-2022 走看看