zoukankan      html  css  js  c++  java
  • ES6简单语法

    ES6 简单语法:

      变量声明

        ES5 var 声明变量为全局变量 会变量提升
        ES6 let 声明的变量为块级变量 且不能重复声明 不存在变量提升 # {}一个大括号为一个作用域
        ES6 const 声明一个只读的常量,一旦声明,常量的值就不能改变,且一旦声明必须立即初始化

      解构赋值(解包)

    例如:
      数组 let [a,b,c]
    = [1,2,3] a = 1 b = 2 c = 3
      默认赋值 let[a
    =3,b] = [2] a=2 b=undifind
      let c let [a
    =2] = [c] a = 2

      对象
        

        let {a,b} = {a:"111",b:"222"}
          a=111
          b=222

        let {a:b} = {a:111}
          a=111
          b=111

        let {a,b=5} = {a:1}
          a=1
          b=5



      强转字符串

         ['内容'+xxx] # 中括号中的内容会被强转为str类型 如果为数组则转化为类似json格式的内容 可以实现字符串的拼接

      模板字符串:

        # 模板字符串,都是用反引号表示。如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。
        # 如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
        用 `包裹字符串${变量}`

      

      箭头函数:

        ES6允许使用“箭头”(=>)定义函数

        var f = a => a 等价于 var f = function(a){return a}

    //无形参
    var f = () => 5;
    // 等同于
    var f = function () { return 5 };
    
    //多个形参
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2) {
      return num1 + num2;
    };

    # 补充this

      es5普通函数 this指向的是调用者
      箭头函数 this指向调用者所在的父类

    ***使用箭头函数需要注意的几点

      1.函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象;

    # 例如 vue中
    created(){
    function(){console.log(this)} # 此处this指向的是window对象
    }
    
    created(){()=>{console.log(this)}} # 此处this指向的是vue对象


      2.不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

    对象的单体模式:

      # 用于解决箭头函数 this使用定义对象而不是当前所在对象
      fav(){} 等价于 fav:function(){} # this 为当前函数的this

     


    自执行函数:

      (function(){})(); # 自执行的this 是window

    面向对象

      JavaScript 语言中,生成实例对象的传统方法是通过构造函数

    function Animal(name,age){ # 首字母大写表名声明类
    this.name = name;
    this.age = age;
    }
    Animal.prototype.showName = function(){ # 添加类方法 相当于继承所有Animal类都有showName方法
    console.log(this.name);
    console.log(this.age);
    }
    var a = new Animal('小黄',5); # new方法创建类对象
    a.showName()

    es6 创建类的方法

    class Classname{
      constructor(name,age){ # 相当于python中初始化 __init__方法
        this.name = name;
        this.age = age
      }
      classdef(){}
     }


    调用:
    var xxx = new Classname()
    xxx.classdef()

     

    es6 生成器

    function* xxx(){  // function* 创建生成器函数
    yiled xxx
    yiled xxx
    return xxx
    }

    获取值
    var f = xxx
    f.next() # 如果next传参表示上一次yiled的值

    set结构

      let set = new Set([1,2,3,4,4,]) //构造函数,值不重复 相当于set集合


    扩展运算符

      [...set] # 将set打散成列表

     

     

    for循环

      for (let i of set){console.log(i)} # 循环

     

    set属性

      set.size #长度
      set.add('xxx') 增
      set.delete('xxx') 删
      set.has('xxx') 查
      set.clear('xxx') 清空
      set.entries 枚举



    Songzhibin
  • 相关阅读:
    ECharts之类型bar(堆积条形图)
    ECharts之类型bar
    ECharts之类型pie
    ECharts入门一
    ECharts第一个实例
    html树形菜单控件
    【JavaScript】Javascript中document.execCommand()的用法
    【JavaScript】dhtmlXTree 中文API
    【javascript】addEventListener事件方法
    java判断集合是否重复的一种便捷方法
  • 原文地址:https://www.cnblogs.com/binHome/p/11845336.html
Copyright © 2011-2022 走看看