zoukankan      html  css  js  c++  java
  • ES6 特性

    let const var

    let 块级作用域。不能重复申明。

    const 常量,块级作用域。不能重复申明

    var 函数级作用域

    箭头函数(类似python lambda)

    ()=>{}

    当有且仅有1个参数,()可省

    当有且仅有1个return,{return}可省略

    <script>
    //let show=function (a) {
    //    alert(a*2);
    //};
    //show(12)
    
    let show=a=>alert(a*2);
    show(12);
    
    </script>
    View Code
    <script>
    //let show=function (a) {
    //    alert(a*2);
    //};
    //show(12)
    
    let show=a=>alert(a*2);
    show(12);
    
    let arr=[11,22,55,9];
    arr.sort((n1,n2)=>n1-n2);
    alert(arr)
    
    </script>
    View Code

     参数

    (a,b,...args)

    或者用于数组展开 

    arr=[1,2,3]

    alert(...arr)   弹窗3次分别显示1 2  3

    alert(arr) 痰喘1次显示1,2,3

    解构赋值

    结构相同,申明赋值同时进行。

    类似python 如let  [a,b,c]=[1,2,3]

    let {a,b,c}={a:11,b:12,c:13};
    alert(b)  // 显示12
    View Code

    模版字符串

    <script>
    
    let a='aaa';
    let str=`<p>1<p>
           <p>${a}<p>`;
    alert(str)
    </script>
    View Code

    面向对象

    <script>
    class User{
        constructor(name,pass){
            this.name=name;
            this.pass=pass;
        }
        showName(){
            alert(this.name);
        }
        }
        let u1=new User('n1','pwd');
        u1.showName();
    
    </script>
    View Code

    继承写法extends类似java略。

    json对象

    parser与stringify

    <script>
        json={a:'v1',b:'v2'};
        str='http://a.com/'+JSON.stringify(json); //http://a.com/{"a":"v1","b":"v2"}// 返回字符串
        str2=JSON.parse('{"a":"v1","b":"v2"}');  //返回对象, json 对象
        str='http://a.com/'+encodeURIComponent(JSON.stringify(json)); //http://a.com/%7B%22a%22%3A%22v1%22%2C%22b%22%3A%22v2%22%7D
    
        alert(str);
        console.log(str2);
    
    </script>
    View Code

    简写1  kv相同写k

    <script>
    let a=2;
    let b=3;
    //let c={a:a,b:b};
    let c={a,b};
    console.log(c);
    
    </script>
    View Code

    简写2 

    <script>
    
        let a={
            k1:'v1',
            show:function () {
                alert(1)
            },
            show2(){
                alert(2)
            }
        };
    
        a.show();
        a.show2();
        alert(a.k1);
    
    </script>
    View Code

    数组

    map   输入数与输出数相同

        let arr=[11,22,33,60,99]
        let arr2=arr.map(item => item >=60? 'jige':'nonono')
        console.log(arr2)
    View Code

    reduce  一堆出来一个。 测试reduce 会依次遍历数组(tmp,item, index)

    代码: 如果没有return ,迭代的tmp会变undefined除了第一次。 

        let arr=[10,11,12,13]
        let arr2 = arr.reduce(function (tmp, item, index) {
            console.log(tmp+' '+item+' '+index)
            return tmp+item
        })
    View Code
  • 相关阅读:
    UVa10779
    UVa10779
    C++ 内存管理学习笔记
    c++ 学习笔记
    AcWing 275 传纸条
    I
    Tree HDU6228
    Lpl and Energy-saving Lamps
    C
    Secret Poems
  • 原文地址:https://www.cnblogs.com/infaaf/p/9622182.html
Copyright © 2011-2022 走看看