ES6语法

let const

(1). 在js中  通常使用 var会发生变量提升,即脚本开始运行时,变量已经存在了,但是没有值,所以会输出undefined。

  而let不会发生变量提升,这表示在声明它之前,变量是不存在的,这时如果用到它,就会抛出一个错误。

(2).var 是函数级作用域,let是块级作用域{}:

(3) let不允许在相同作用域内,重复声明同一个变量

(4) const声明一个只读的常量 一旦声明,常量的值就不能改变

(5) const命令声明的常量也是不提升,只能在声明的位置后面使用

(6) const声明的常量,也与let一样不可重复声明

``模板字符串

`` 反引号,tab上面的那个键(~`),功能如下:

1、可以识别换行;

2、可以通过 ${ } 直接引入变量。

如果使用模板字符串表示多行字符串,则所有的空格、缩进和换行都会被保留在输出中。

$('#ulList').html(`
    <ul>
      <li>浙江</li>
      <li>杭州</li>
    </ul>
`);

上面代码中,所有模板字符串的空格和换行都是被保留的,比如

    标签前面会有一个换行。如果想把行首和行尾的换行、空格等去掉,则使用trim方法即可。

    $('#list').html(`
    <ul>
      <li>first</li>
      <li>second</li>
    </ul>
    `.trim());
    
    var total = 50;
     
    console.log("总数为:" + total);
     
    // 等于
     console.log(`总数为${total}`);
    
    var name = "Bob", time = "today";
    `Hello ${name}, how are you ${time}?`   // Hello Bob, how are you today?
    

    模板字符串都是用反引号表示,如果在模板字符串中需要使用反引号,则前面需要用反斜杠转义。

    var greeting = `\`Yo\` World!`; // `Yo` World!
    

    模板字符串中嵌入变量,要将变量名写在${}之中。大括号内可以放入任意的JavaScript表达式,可以进行运算,以及引入对象属性。

    var x = 1, y = 2;
     
    `${x} + ${y} = ${x + y}`;
    // "1 + 2 = 3"
     
    `${x} + ${y * 2} = ${x + y * 2}`;
    // "1 + 4 = 5"
     
    var obj = {x: 1, y: 2};
    `${obj.x + obj.y}`
    // "3"
    

    模板字符串之中还可以调用函数。

    function func() {
        return 'Hello';
    }
     
    `${func()} World`;
    // "Hello World"
    

    for in 和 for of 循环遍历

    for(var i = 0; i < num.length; i++){
        console.log(num[i])
    }
    
    for(var i in num){
        console.log(num[i])
    }
    
    for(var val of num){
        console.log(val)
    }
    

    箭头函数

    // 无参 不能省略
    var fn1 = function() {}
    var fn1 = () => {}
     
    // 单个参数 可以省略()
    var fn2 = function(a) {}
    var fn2 = a => {}
     
    // 多个参数
    var fn3 = function(a, b) {}
    var fn3 = (a, b) => {}
    
    // es6 箭头函数写法,当函数直接被return时,可以省略函数体的括号
    const fn = (a, b) => a + b;
     
    // 可变参数
    var fn4 = function(a, b, ...args) {}
    var fn4 = (a, b, ...args) => {}
    

    展开运算符(...)

    合并数组:

    let a = [1,2,3];
    let b = [4,5,6];
    let c = [...a,...b]; // [1,2,3,4,5,6]
    

    合并对象

    结果:

posted @ 2021-04-02 10:37  星河几重  阅读(133)  评论(0编辑  收藏  举报