JS函数多个参数默认值指定方法分析


Posted in Javascript onNovember 28, 2016

本文实例讲述了JS函数多个参数默认值指定方法。分享给大家供大家参考,具体如下:

函数有一个参数时,以往这样定义(参数为p1):

function mfun(p1){ … }

当需要为p1设定一个默认值时

function mfun(p1){
if(p1===undefined) p1=5; //默认值设为5
…
}

当函数需要2个参数时,以前习惯这样写

function mfun(p1,p2){…}

后来发现完全不需要这样写,js函数甚至不需要在括弧内预设参数名,可以用一下方式传入任意多个参数自动适配,当没有被定义时,这些未被赋值参数被调用时值为 undefined

以下例子示范了一个2个参数的js函数

function mFun(){
 var p1 = arguments[0] ? arguments[0] : -1; //设置参数p1默认值为-1
 var p2 = arguments[1] ? arguments[1] : ‘ABC'; //p2默认值 ‘ABC'
…
}

以下是一些错误示范:

需要2参数,第二个为可选参数时定义

function mFun(p1){...}
function mFun(p1,p2){...}

*这种写法,mFun(p1)会被下面的函数覆盖掉,当只传入一个参数时,p2会提示undefined

funciton mfun(p1,p2='xxx'){...}

这是php习惯.. =___=b..

再看一个例子:

function simue (){
 var a = arguments[0] ? arguments[0] : 1;
 var b = arguments[1] ? arguments[1] : 2;
 return a+b;
}
alert( simue() ); //输出3
alert( simue(10) ); //输出12
alert( simue(10,20) ); //输出30

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
FireFox JavaScript全局Event对象
Jun 14 Javascript
编写自己的jQuery插件简单实现代码
Apr 19 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 Javascript
基于jQuery实现图片的前进与后退功能
Apr 24 Javascript
js confirm()方法的使用方法实例
Jul 13 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 Javascript
Node.js中sequelize时区的配置方法
Dec 10 Javascript
详解Chart.js轻量级图表库的使用经验
May 22 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
Jul 13 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
Aug 27 Javascript
JavaScript的console命令使用实例
Dec 03 Javascript
ajax级联菜单实现方法实例分析
Nov 28 #Javascript
jQuery select自动选中功能实现方法分析
Nov 28 #Javascript
JS两种类型的表单提交方法实例分析
Nov 28 #Javascript
简单实现JavaScript图片切换效果
Nov 28 #Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 #Javascript
JS调用打印机功能简单示例
Nov 28 #Javascript
完全深入学习Bootstrap表单
Nov 28 #Javascript
You might like
PHP的基本常识小结
2013/07/05 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
一套Java笔试题
2016/08/20 面试题
中专毕业个人的自荐信格式
2013/09/21 职场文书
新春联欢会主持词
2014/03/24 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
同意报考证明
2015/06/17 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang