函数(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指向调用它的地方