es6 语法 (函数扩展)

//函数参数默认值(more值后不能有参数)
{
    function  test(x,y = 'world'){
        console.log('默认值',x,y);  
    }
    test('hello');// hello world
    test('hello','kill'); //hello kill
}
//作用域概念
{
    let x = 'test';
    function test2(x,y = x){
        console.log('作用域',x,y);
    }
    test2(); // undefined undefined
    test2('kill');// kill kill

    function test3(c,y=x){
        console.log('作用域',c,y);
    }
    test3();// undefined test
}

//参数
{
    function test3(...arg){
        for(let v of arg){
            console.log('rest',v); 
        }
    }
    test3(1,2,3,4,'a'); // 1,2,3,4,a
}

//扩展运算符
{
    console.log(...[1,2,4]); //1,2,4
    console.log('a',...[1,2,4]); //a,1,2,4
}

// 箭头函数
{
//函数名 参数 箭头 返回值
    let arrow = v => v*2;
    let arrow2 = () => 5;
    console.log('arrow',arrow(3)); //6
    console.log(arrow2); //function arrow2 (){ return 5};
}

//伪调用
{
    function tail(x){
        console.log('tail',x); //123
    }
    function fx(x){
        return tail(x);
    }
    fx(123);
}

 

posted @ 2017-10-10 20:47  abcByme  阅读(408)  评论(0编辑  收藏  举报