面试题答案
一键面试函数length属性的含义
函数的 length
属性表示该函数定义时预期传入的参数个数,即函数声明中形式参数的个数。它不包括剩余参数(rest parameters),也不考虑实际调用函数时传入的参数个数。
兼容性表现
在ES5和ES6及后续版本中,函数的 length
属性兼容性良好。所有主流JavaScript环境(包括浏览器和Node.js)都支持此属性,其行为在不同版本间保持一致。
示例
// 定义一个函数
function addNumbers(a, b) {
return a + b;
}
// 获取函数的length属性
console.log(addNumbers.length);
// 输出: 2,因为addNumbers函数定义了2个参数(a和b)
// 定义一个带剩余参数的函数
function sumAll(...nums) {
return nums.reduce((acc, num) => acc + num, 0);
}
// 获取带剩余参数函数的length属性
console.log(sumAll.length);
// 输出: 0,因为length属性不包括剩余参数