函数
arguments 函数内置的实参集合
1.类数组集合,集合中存储着所有函数执行时传递的实参信息
2.无论是否设置形参,arguments都存在
3.无论是否传递实参,arguments也都存在
4.arguments.callee:存储的是当前函数本身(一般不用,JS严格模式下禁止使用这些属性)
function sum (){
console.log(arguments)
let total = 0;
for (let index = 0; index < arguments.length; index++) {
let element = Number(arguments[index]);
if (isNaN(element)) {
continue
}
total += element
}
return total
}
let total = sum(1,2,3,4)
//输出:
// 0: 1
// 1: 2
// 2: 3
// 3: 4
// length: 4
// callee: ƒ sum()
// Symbol(Symbol.iterator): ƒ values()
// __proto__: Object
箭头函数
function sum(m,n) {
return m + n
}
// 改成箭头函数
let sum = (m,n) => {
return m + n
}
// 当函数体中只有一行return时,可以省略return和{},直接一行就可以
let sum = (m,n) => m + n
function fn(m){
return function (n){
return m + n
}
}
//箭头函数
let sum = m => {
return n =>{
return m + n
}
}
//简化:
let sum = m => n => m + n
function sum(m,n) {
if(typeof m ==='undefined'){
m = 0
}
if(n === 'undefined'){
n = 0
}
return m + n
}
//箭头函数,形参赋值默认值,当没有给形参赋值时的默认值
let sum = (m = 0,n = 0) => m + n
//箭头函数中没有arguments 但是可以使用剩余运算符获取到传递的实参集合(数组)
let sum = (...arg) => eval(arg.join('+'))
console.log(sum(1,2,3,4)) 结果:10
网友评论