zoukankan      html  css  js  c++  java
  • ECMAScript 6基础

    ECMAScript 和 JavaScript 是什么关系?

      1996 年 11 月,JavaScript 的创造者 Netscape 公司,希望JavaScript能够成为国际标准,将其提交给标准化组织 ECMA。次年,ECMA 发布了ECMAScript 1.0 版。不叫 JavaScript的原因:一是商标,JavaScript 已被 Netscape 公司注册为商标;二是体现其制定者是 ECMA,不是 Netscape,有利于保证其的开放性和中立性。

      

     let 和 const 命令

    let声明变量

      块状作用域(任意大括号包含的变量都只在大括号里起作用,超出则报错)

    {let a=20;}

    console.log(a);//报错

    //使用var
    var a = [];
    
    for (var i = 0; i < 5; i++) {
    
      a[i] = function () {
    
        console.log(i);
    
      };
    
    }
    
    a[3](); // 结果为5
    //使用let
    var a = [];
    
    for (let i = 0; i < 5; i++) {
    
      a[i] = function () {
    
        console.log(i);
    
      };
    
    }
    
    a[3](); // 结果为3

      不能重复声明

    let a=20;
    
    let a=10;
    
    console.log(a);//报错

      没有变量提升

    console.log(a);//报错
    
    let a=20;

      暂时性死区(在代码块内,使用let命令声明变量之前,该变量都是不可用的),简称TDZ

    var a = 123;
    
    if (true) {
    
        a = 'abc';
    
        let a;//在let命令声明变量a之前,都属于变量a的“死区”。
    
    }

    const 声明常量(声明一个只读的常量。一旦声明,常量值不可变)

      声明必须同时赋值

    const a;
    
    a=20;
    
    console.log(a);//报错

      const 声明与 let 声明一样:无变量提升、块级作用域、暂时性死区、不可重复声明。

    字符串的扩展

    模板字符串

    var y = 2018,m = 5,d = 7;
    
    var str = `今天是${y}年${m}月${d}日`;

    部分新方法

    var str = "hello";
    
    //判断是否包含某指定的字符
    
    var res1 = str.includes("d");//res1结果为 false
    
    //判断是否以某字符开头
    
    var res2 = str.startsWith("e");//res2结果为 false
    //判断是否一某字符结尾
    
    var res3 = str.endsWith("o");//res3结果为 true
    
    //让字符串重复几次
    
    var res4 = str.repeat(3);//res4结果为 hellohellohello

    函数的扩展

    默认值

    //函数的默认值
    
    function fn(a,b = 20) {
    
        console.log(a,b);
    
    }
    
    fn(10);//结果为10 20

    剩余参数

    //剩余参数
    
    function fn(a,...b) {
    
        console.log(a,b);
    
    }
    
    fn(10,[2,3,4]);//结果为 

    箭头函数

    //有参数
    
    var fn1=num=>num;//相当于var fn1=function(num){return num;}
    //无参数
    var fn2=()=>10;//相当于var fn2=function(){return 10;}
    //多个参数
    var fn3=(num1,num2)=>num1+mun2;//或者var fn3=(num1,num2)=>{return num1+num2};
    //map的用法
    [1,2,3].map(num=>num*2);//相当于var fn=[1,2,3].map(function(num){return num*2;});

    set方法

    Set是一个构造函数,可创建出类似于数组的数据结构一般用于创建不重复的数组

    //创建set数组
    
    var arr=new Set([1,2,3]);
    
    //添加数据
    
    arr.add(4);
    
    //删除指定数据
    
    arr.delete(4);//判断数组是否有某指定元素
    
    var res=arr.has(2);//res 结果为 true
    //控制台输出数组元素
    
    for(let [key,value] of arr.entries()){
    
        console.log(value);
    
    }
    //删除所有元素
    arr.clear();

    promise 的用法

    回调函数

    function a(callBack) {
    
        console.log("我是主函数");
    
        callBack();
    
    }
    
    function b() {
    
        console.log("我是回调函数")
    
    }
    
    a(b);

    多层回调

    function run() {
    
      var obj=new Promise(function (resolve,reject) {
    
        resolve("运行成功的函数");
    
        reject("运行失败的函数");
    
      })
    
      return obj;
    
    }
    
    run().then(function () {
    
      //执行一些功能
    
    }).then(function () {
    
      //再执行一些功能
    
    })

    类与继承

    class Person{
    
      constructor(name,age){
    
        this.name=name;
    
        this.age=age;
    
      }
    
      static tell(){
    
        alert("hello");
    
      }
    
      say(){
    
        alert(this.name+this.age);
    
      }
    
    }
    
    var per=new Person("David",23);
    
    console.log(per.name);
    
    per.say();
    
    //static修饰的方法是类直接调用的不能用new出来的对象调用Person.tell();
    
    class Student extends Person{
    
      constructor(name,age,score){
    
        super(name,age);
    
        this.score = score;
    
      }
    
      show(){
    
        alert(this.name + this.score);
    
      }
    
    }
    
    var stu=new Student("Nancy",24,80);
    
    stu.show();
    
    stu.say();

     

  • 相关阅读:
    sqlplus 汉字乱码问题的解决
    Windows下RMAN备份脚本
    Oracle sqlplus prelim 参数介绍
    Oracle BBED 工具 说明
    Oracle BBED 工具 说明
    Oracle DBV 工具 说明
    Windows下RMAN备份脚本
    Oracle corrupt block(坏块) 详解
    Oracle Rowid 介绍
    Oracle sqlplus 常用命令总结
  • 原文地址:https://www.cnblogs.com/hjy-21/p/12348144.html
Copyright © 2011-2022 走看看