//函数参数默认值(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); }