函数(rest 箭头)
1、参数的默认值
传统方式:
function fn (n,a) { var name = n||''; var age = a||18||''; if(name){ console.log(name); } }
ES6新方式:
function fn1 (a,n='zs'){ var name =n; var age =a; return {name,age}; }
注意:
a:函数的默认值赋初始值,需要放到后面
b:什么情况下会触发默认值 调用函数名不传参数,会调用默认值
2、rest函数
rest参数剩下的部分 reslut 第二参数 ...values
使用;
//2、rest函数 ...values (三个点+变量名) -》扩展运算符 function sum(result,...values){ values.forEach(function(v,i){ result+=v; }) console.log(result); } var res = 0; sum(res,1,2,3,4);
//总结:rest函数:调用时排除第一个参数,其他的参数会被。。。values逐一获取到
...values 扩展运算符
它一般结合数组使用,把数组的元素用逗号分隔开来,组成一个序列。
function sum1(a,b,c){ return a+b+c; } var arr = [1,2,3] console.log(sum1(...arr))
3、箭头函数
用箭头符号(=>)
简单使用方法
//普通函数 var sum = function(a){ return a; }; console.log(sum(1)); //箭头函数写法 var sum = a=>a; console.log(sum(1));
当传入参数不唯一,返回不唯一
var sum = (a,b) => {return a+b} sum(1,2);//3 console.log(sum(1,2))
对一个数组[1,2,3,4]里面的数求和
//传统方法 var sum = 0; [1, 2, 3, 4,].forEach(function (v) { sum += v; }); console.log(sum); //箭头函数 var sum = 0; [1, 2, 3, 4].forEach(v => sum += v); console.log(sum);
注意:
// 箭头函数的this指向和function函数的this指向有什么区别
// 1. 箭头函数this指向定义它的地方
// 2. function 函数this指向调用它的地方