zoukankan      html  css  js  c++  java
  • es6的一些知识点

    es6的一些知识点

    前言:es6(ECMAscript2015)标准

    let、const、var的一些区别
    • let、const 块级作用域、全局作用域、函数作用域
    • var 全局作用域、函数作用域
    变量提升的问题:
    var        :  true
    let、const : false
    

    例子:

    console.log(a);//undefind
    let a=1;					 
    

    块级作用域:例如在一个函数,for循环。。。区块之内!
    const 常量,值不可更改。
    let、var 变量,值可以更改

    严格模式
    • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;

    • 消除代码运行的一些不安全之处,保证代码运行的安全;

    • 提高编译器效率,增加运行速度;

    • 为未来新版本的Javascript做好铺垫。

    "严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。

    “use strict”
    
    模板字符串(Template Strings)
    • 规定了一种新的string方法可用 `` 斜引号来创建字符串的代码块
    • 绑定变量用${}来绑定。
    let name="xiaosan";
            let age=22;
            let home="china"
            let str1=`she's name ${name},
            she age ${age},
            she homes's ${home}`
            alert(str1)
    
    • 字符串内可直接换行
    let str1=`she's name ${name},
            she age ${age},
            she homes's ${home}`
            alert(str1)
    
    • 标签模板字符串。
    function tag(strings,...args){    //...扩展运算符
               //console.log(strings);
               //console.log(args);
               let str='';
               for(var i=0,l=strings.length-1;i<l;i++){
                    str=str+strings[i]+args[i];
               }
               str+=strings[l];
               return str
           }
           let name1="xiaomi";
           let age1=23;
           let str3=tag`
            she's nam1 ${name1}
            she age ${age1}
           `
           console.log(str3)
    
    增强的对象字面量(自变量)
    • 对象属性能够简写;
    • 对象方法可以简写function关键字
    let name="张三";
            let age=22;
            let zhangshan={
                name,
                age,
                runing(){
                    console.log("我会跑")
                }
            }
    
    • 对象属性名可以书写自动计算形式
    • 原型继承__proto__
     let people={
                eat(){
                    console.log("我会吃")
                },
                speak(){
                    console.log("我会说话")
                },
                feeling(){
                    console.log("我有感情")
                }
            }
            let caowei={
                name:name,
                __proto__:people,//设置对象原型,用来继承
                study(){
                    console.log("I have sutying ok!")
                }
            }
            console.log("my name's"+caowei.name)
            caowei.study();
            caowei.eat();
            caowei.speak();
            caowei.feeling();
             console.log(caowei)
    
    解构赋值
    • es6允许我们按照一定结构提取数组与对象里的值,赋给变量
    • 函数的解构赋值
    • 说的明白一点解构赋值它的类型就是数组跟对象
      例子
    //数组
            let [a,,c]=[1,2,3];
            console.log(a,c)
    //对象
            let obj={
                x:1,
                y:2
            }
            let {x,y}=obj
            console.log(x,y)//1 2
    //函数操作
    //函数传对象
    
            function fn(person){
                let name=person.name;
                let age =person.age;
                console.log(name,age)
            }
            let aa={name:"xiaosan",age:18}
            fn(aa)*/
           /* function fn({uname:name,age,sex="女人"}){
                console.log(name,age,sex)
            }
            let bb={uname:"xiaosan",age:18}
            fn(bb)*/
            //es5 函数传数组
            /*function fn(Arr){
                let x=Arr[0];
                let y=Arr[1];
                let z=Arr[2];
                console.log(x,y,z)
            }*/
            /*function fn([x,y,z,d=22]){
               
                console.log(x,y,z,d)
            }
            let arr=[9,5,8]
            fn(arr)
    //字符串解构赋值
    
            let str="123456";
            let [a,b,c,d,e,f,g=50]=str;
            console.log(a,b,c,d,e,f,g)
    

    这就是es6的一些简单认知,未完待续...

  • 相关阅读:
    【转】Delphi 关键字详解
    import datetime
    addlayer添加神经网络层
    xadmin使用富文本
    django安装xadmin
    django安装DjangoUeditor富文本
    django中admin一些方法
    Centos7.6安装python3.6.8
    django错误处理
    mysql 快速生成百万条测试数据
  • 原文地址:https://www.cnblogs.com/chenxua/p/7152663.html
Copyright © 2011-2022 走看看