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
  • 相关阅读:
    BZOJ-2431: [HAOI2009]逆序对数列 (傻逼递推)
    BZOJ3695 滑行
    BZOJ3689 异或之
    BZOJ3696 化合物
    BZOJ1393 [Ceoi2008]knights
    BZOJ2280 [Poi2011]Plot
    BZOJ1570 [JSOI2008]Blue Mary的旅行
    BZOJ2751 [HAOI2012]容易题(easy)
    BZOJ2818 Gcd
    BZOJ2426 [HAOI2010]工厂选址
  • 原文地址:https://www.cnblogs.com/infaaf/p/9622182.html
Copyright © 2011-2022 走看看