函数是一段结合在一起执行特定任务的代码,函数一般使用参数与外部进行交互。要编写简洁高效的JS代码,必须掌握函数参数。
在本文中,会使用一些有趣的例子来解释 JS 必须有效地处理函数参数的所有特性。
1.函数参数
function sum(param1, param2) { console.log(param1); // 1 console.log(param2); // undefinedreturn param1 + param2; } sum(1); // NaN
调用传入的参数个数应当与函数定义参数个数相同,当然传入参数比定义参数个数少的时候,也不会报错,缺少会使用 undefined 代替。
2. 默认参数
function sum(param1, param2 = 0) { console.log(param2); // 0 return param1 + param2; } sum(1); // 1 sum(1, undefined); // 1
如果没有传入第二个参数,param2 就默认为 0 。
注意,如果将undefined设置为第二个参数sum(1, undefined), param2也将初始化为0。
3.解构参数
functiongreet({ name }) { return`Hello, ${name}!`; } const person = { name: '前端' }; greet(person); // 'Hello, 前端'
4. arguments 对象
JavaScript 函数有个内置的对象 arguments 对象。argument 对象包含了函数调用的参数数组。通过这种方式你可以很方便的找到最大的一个参数的值
x = findMax(1, 123, 500, 115, 44, 88); function findMax() { var i, max = arguments[0]; if(arguments.length < 2) return max; for (i = 0; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max;}
5.剩余参数
将一个不定数量的参数表示为一个数组
function sumArgs() { console.log(arguments); // { 0: 5, 1: 6, length: 2 } let sum = 0; for (let i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; } sumArgs(5, 6); // => 11
推荐:《2021年js面试题及答案(大汇总)》
Atas ialah kandungan terperinci JS函数中的几种参数形式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!