这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战
前几篇文章学习了几个 JavaScript 并不完美但是不影响其运行的神奇小"bug":
- JavaScript学习-for循环
- JavaScript 不完美亦可运行-自动加分号(
;)问题、 - JavaScript 不完美亦可运行-数组对象相加问题、
- JavaScript 并不完美之箭头函数相关(二)、
- JavaScript 并不完美~(一)浮点数
本篇记录学习 JavaScript 的函数参数-可选参数
JavaScript 函数的参数
arg1, arg2, ... argN函数使用零个或多个名称作为正式的参数名称。每一个必须是一个符合有效的
JavaScript标识符规则的字符串或用逗号分隔的字符串列表,例如“x”,“theValue”或“a,b”。
在JavaScript中使用 function 定义一个普通函数:
function myFunc(arg1){
return arg1 * 2
}
console.log(myFunc(10512, 'arg2是一个字符串', 'arg2和arg3会被忽略')
// -> 21024
如上代码所示: 我们定义函数时, 只用了一个参数 arg1, 而在调用时却传递了多个参数 arg2和arg3, JavaScript 语言却忽略了我们多传递的额外参数, 并且进行了表达式的计算...
JavaScript 函数可选参数
JavaScript 对于函数的参数限制相对比较宽松, 如果我们多传了参数而没有在函数体内使用, 则 JavaScript 会忽略多传递的参数;
同样, 如果给一个函数少传递了参数, 而函数体还要使用怎么办, 那么 JavaScript 则会将其赋值为 undefined..
这里就有 JavaScript 的一个小问题: 当我们将错误数量的参数传递给函数时, 我们将不会得到报错, 也不会得到有效反馈..
思考
就像函数的可选参数一样, 我们工作中总要准备好一个或几个备选方案、数据要准备几个备份, 用于以防不可测因素造成的损失.