• 基础语法


    1.基础语法

    1.1 let 与 const

    es5 中的变量提升。

    // var a ; 变量提升至此进行定义。
    console.log(a); // undefined
    var a = 1; // 存在变量提升,会将该定义的变量执行在最开始
    var arr = []
    for(var i =1;i<10;i++){
        arr[i] = function (){
            return i;
        }
    }
    console.log(arr[5]()); // 10,如果没有变量的提升打印的应该是 6.
    

    使用 let声明变量

    let arr = []
    for(let i =1;i<10;i++){
        arr[i] =function (){
            return i
        }
    }
    console.log(arr[5]()); // 5 ,此时打印的就是5.使用let 并不会发生变量的提升。
    

    let 不会污染全局变量

    let RegExp = 10;
    console.log(RegExp);//10
    console.log(window.RegExp);// f RegExp
    

    const 与 let 相似,只是 const 声明的是常量,不会变化的变量都是用const进行声明。

    除非在明确值会发生改变的情况下使用let,一般情况下使用const情况居多。

    1.2 循环的格式

    注:此并不为 es6 的新特性,而是一次额外的补充。

    参考文献:https://zh.javascript.info/while-for

    for (begin; condition; step) {
      // ……循环体……
    }
    

    1.3 模板字符串

    类似于 Python 和 java 中的格式化字符串。

    // 模板字符串
    const dombox = document.querySelector(".box");
    let id = "name";
    let val = "Hello World";
    let htmlstr = `<ul>
        <li>
            <p id="${id}">${val}</p>
        </li>
    </ul>`;
    console.log(htmlstr); // 
    dombox.innerHTML = htmlstr;
    

    1.4 解构赋值

    结构赋值是针对运算符的一种扩展,他通常是针对数组或者对象进行操作。

    优点:代码书写上简单且易读。

    1.4.1 对象解构

    全部解构赋值

    // 1. 对象解构
     let node = {
        type:'identifier',
        name:'foo'
    }
    let {type,name} =node;//解构;注意,结构的时候需要解构的名字与对象内部的名字相同。
    console.log(type,name);// identifier foo
    

    选择解构

    let obj = {
        a:{
            name:"张三"
        },
        b:[],
        c:"Hello World"
    }
    let {a} = obj; //可以单个值解构
    let {a,c} =obj; //选择多个值进行解构。
    console.log(a,c);//
    >>> {name: '张三'} 'Hello World'
    

    剩余值解构

    let obj = {
        a:{
            name:"张三"
        },
        b:[],
        c:"Hello World"
    }
    // 剩余值解构
    let {a,...res} = obj; // 将剩下的值解构到一个新的对象中去。
    console.log(a,res);// 
    >>> {name: '张三'} {b: Array(0), c: 'Hello World'} 
    

    ...res必须要是在最后一个参数的位置。

    1.4.2 数组解构

    let arr = [1,2,3];
    let [a,b,c] = arr;
    console.log(a,b,c);//
    >>> 1 2 3
    

    嵌套

    let [a,[b],c] = [1,[2],[3]];
    console.log(a,b);
    >>> 1,2
    

    忽略

    let [a,b] = [1,2,3,4,5];
    console.log(a,b);
    >>> 1,2
    

    默认值

    let [a,b,c,d,e,f=10] = 'hello';
    console.log(a,b,c,d,e,f); // 
    >>> h e l l o 10
    
  • 相关阅读:
    Java简单游戏开发之碰撞检测
    Android应用程序在新的进程中启动新的Activity的方法和过程分析
    Android应用程序组件Content Provider的共享数据更新通知机制分析
    Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
    VS2005检查内存泄露的简单方法
    iOS如何让xcode自动检查内存泄露
    wf
    VC++ListBox控件的使用
    textoverflow:ellipsis溢出文本显示省略号的详细方法
    VC编写代码生成GUID并转换为CString字符串
  • 原文地址:https://www.cnblogs.com/Blogwj123/p/16557125.html
Copyright © 2020-2023  润新知