版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q95548854/article/details/79085506
八、函数扩展
1. 形参设置默认值
function sum(num1 = 20, num2 = 10) {
console.log(num1 + num2);
}
sum(10, 30); // 40
sum(); // 30
2. 参数形式--延展操作符
// es5中解决不定数量的参数(但参数全在arguments里,如果传入多个类型的参数时,用的时候需要具体区分)
function sum() {
let result = 0;
for(let value of arguments){
result += value;
}
return result;
}
// es6 中
function sum(name, sex, ...nums) {
let result = 0;
console.log(name);
console.log(sex);
for(let value of nums){
result += value;
}
return result;
}
console.log(sum('张胜男', '男', 10, 20, 30, 50));
3. 箭头函数
// 形式: () => {}
// let sum = (num1, num2)=>{ return num1 + num2;};
// console.log(sum(100, 300));
let nameArr = ['张三', '李四', '王五'];
nameArr.forEach((value, index)=>{
console.log(index + ':' + value);
});
//解决this指向问题
function demo() {
setTimeout(function () {
console.log(this); // 指向window
}, 1000);
setTimeout(()=>{
console.log(this); // 指向window 和 obj
}, 1000);
}
let obj = {};
demo.call(obj);