JavaScript 函数的默认参数
JavaScript 函数 参数 默认
2023-09-11 14:22:55 时间
ES5 的年代
JS 函数的默认参数都是 undefined,在 ES5 里不支持直接在形参里面写默认值。所以,如果需要设置默认值,只能在函数内部检测该参数是否为 undefined,若非才进行赋值。
- 这是一种比较正规严谨的做法
function add ( a, b ) {
var b = typeof b !== 'undefined' ? b : 0;
return a + b;
}
也可以使用 arguments 对象,进行判断
function add ( a ) {
var b = typeof arguments[1] !== 'undefined' ? arguments[1] : 0;
return a + b;
}
- 在 “布尔类型” 的判断中 undefined,0,"", NaN, null 都会被转为 false,所以当采用下面的形式简写的时候一定要注意是否会产生错误
//正确
function add ( a, b ) {
var b = b ? b : 0; // 等价于 var b = b || 0;
return a + b;
}
//错误,因为当 b 为 0 时,会被错误的转化为 1,而产生错误
function multiply ( a, b ) {
var b = b || 1; // 等价于 var b = b ? b: 1;
return a * b;
}
ES6 的年代
ES6 已经支持默认参数了,直接写就好了
function add ( a, b = 0 ) {
return a + b;
}
相关文章
- JavaScript图形实例:迭代函数系统生成图形
- 第一章 JavaScript简介
- 第七节:语法总结(1)(自动属性、out参数、对象初始化器、var和dynamic等) 图片放大镜 JavaScript-基础 用javascript写原生ajax(笔记) 初遇 Asp.net MVC 数据库依赖缓存那些事儿 前端JS 与 后台C# 之间JSON序列化与反序列化(笔记)
- Javascript回调函数
- 26dwr - DWR中的JavaScript(创造一个与 Java 对象匹配的 Javascript 对象)
- javascript 数组
- 精读JavaScript模式(五),函数的回调、闭包与重写模式
- 【JavaScript】关于javascript原型的深入理解
- 【JavaScript】Javascript中的函数声明和函数表达式
- 【JavaScript】javascript常用的东西
- 【JavaScript】Understanding callback functions in Javascript
- javascript闭包
- JavaScript的应用
- 用JavaScript实现文件的上传与下载
- JavaScript进阶系列02,函数作为参数以及在数组中的应用
- JavaScript进阶系列01,函数的声明,函数参数,函数闭包
- JavaScript 函数【快速掌握知识点】
- 【Javascript】数组之二
- Javascript中的感叹号和函数function
- javascript 指定绑定函数名称,并且传递参数
- JavaScript字符串函数大全
- 【 JavaScript编程详解 -1 】什么是JavaScript ?
- 【零基础学JS -8】Javascript中的布尔值和等式
- 浅析JavaScript中的协程、进程如何切换线程的机制、线程如何切换协程的机制、协程的体现(生成器函数)、协程如何实现异步和非阻塞以及为什么要使用生成器+Promise组合
- JavaScript高阶函数的应用
- vue Inline JavaScript is not enabled. Is it set in your options?
- 学会JavaScript函数式编程(第1部分)
- JavaScript函数重载
- 华为OD机试 - 货币单位换算(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 【web前端(三十四)】javascript_DOM(文档对象模型)中的树形结构
- 【web前端(二十八)】javascript_函数
- JavaScript-4.1-简单的表单操作,函数用法---ShinePans
- "爱说说"技术原理:前端Javascript优化技巧(四)
- asp.net-Creating JavaScript objects from ASP.NET objects
- 【Javascript】节流和防抖函数及防止用户重复提交