• es6常用语法


    变量的定义:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <script>
    /*
    变量提升
    var username;
    console.log(username);
    var username = "xiaofeng";
    console.log(username);
    let username = "Peiqi";
    */
    // var定义的变量:只有全局作用域和函数作用域
    // let定义的变量:有全局作用域和函数作用域,块级作用域{}
    /*
    if (true){
    var username = "zhaozhenyu";
    let age = 22;
    }
    console.log(username);
    console.log(age);
    */
    //let定义的变量不能重复定义:
    /*
    var username = "zhaozhenyu";
    var username = "zhouxiang";
    console.log(username);
    let username = "xiedalei";
    console.log(username);
    */
    console.log(PI);
    const PI = 3.1415;
    </script>
    </body>
    </html>
    模板字符串:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <div id="app"></div>
    <script>
    let oDiv = document.getElementById("app");
    // oDiv.innerHTML = "<h1>Hello Vue" +
    // "<h2>Hello Vue</h2>" +
    // "</h1>";
    let username1 = "maweihua";
    let username2 = "yangzhiyong";
    // 用反引号进行字符串的拼接:
    // 用${}来存储变量:
    oDiv.innerHTML = `
    <h1>Hello ${username1}</h1>
    <h2>Hello ${username2}</h2>
    `
    </script>
    </body>
    </html>
    解构和赋值:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <div id="app"></div>
    <script>
    /*
    let ary = [1,2,3];
    let [a,b,c] = ary;
    console.log(a,b,c);
    let obj = {
    username:"liyasong",
    age:23,
    };
    let { username: user, age:age} = obj;
    console.log(user,age);
    */
    let a = 1;
    let b = 2;
    [a,b] = [b,a];
    console.log(a,b);
    </script>
    </body>
    </html>
    函数的扩展:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <div id="app"></div>
    <script>
    // 默认值参数:
    /*
    function foo(x,y) {
    number = y || 10;
    return number;
    }
    ret = foo(1,2);
    console.log(ret);
    */
    // 箭头函数:
    // 一个参数:
    // let foo = v => v;
    // ret1 = foo(10);
    // console.log(ret1);
    // 0个或者多个参数:
    // let bar = (x,y) => {return x + y;};
    // ret2 = bar(1,2);
    // console.log(ret2);
    // 普通函数的this指向调用者的作用域:
    function foo() {
    console.log(this);
    };
    // 箭头函数的this指向定义时的作用域:
    let bar = () => console.log(this);
    let obj = {
    foo:foo,
    bar:bar,
    };
    foo();
    obj.foo();
    obj.bar();
    </script>
    </body>
    </html>
    类:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <div id="app"></div>
    <script>
    /*
    ES5中实例化对象的方式:
    function Person() {
    this.username = "guyahui";
    this.age = 20;
    };
    Person.prototype.showInfo = function () {
    console.log(this.username);
    };
    let guyahui = new Person();
    */
    // class关键字定义一个类:
    // 必须要有constructor构造方法、constructor可以传送空的
    // 必须使用new来实例化,否则报错:
    /*
    class Person{
    constructor (username,age){
    this.username = username;
    this.age = age;
    };
    showInfo() {
    console.log(this.username,this.age);
    }
    }
    let guyahui = new Person("guyahui",18);
    guyahui.showInfo();
    */
    class Wangjianwei{
    constructor(username,age,account=10000){
    this.username = username;
    this.age = age;
    this.account = account;
    }
    showInfo(){
    console.log(this.username,this.age,this.account);
    }
    }
    class Peiqi extends Wangjianwei{
    constructor(username,age){
    super();
    this.username = username;
    this.age = age;
    }
    }
    let peiqi = new Peiqi("peiqi",73);
    peiqi.showInfo();
    </script>
    </body>
    </html>
    对象的单体模式:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <script src="../Day45/jquery-3.2.1.js"></script>
    </head>
    <body>
    <div id="app"></div>
    <script>
    let obj = {
    name:"juyingying",
    foo(){
    console.log(this.name);
    }
    };
    obj.foo();
    </script>
    </body>
    </html>
  • 相关阅读:
    面试中遇到的几道逻辑题目
    [转]计算机专业人工智能方向——研究生面试需知的十大问题
    new、delete、析构函数、自动类型转换
    第三章 传输层
    年后排序+ST表+ksm+矩阵ksm+斐波那契数列矩阵ksm+归并排序
    DP斜率优化
    DP现阶段优化
    平衡树(一)——二叉搜索树
    NOIP 2017-day2
    2017 NOIP2017 day 1
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12172856.html
Copyright © 2020-2023  润新知