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 相关文章推荐
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
jquery 笔记 事件
Nov 02 Javascript
Google Maps API地图应用示例分享
Oct 23 Javascript
js防止页面被iframe调用的方法
Oct 30 Javascript
JavaScript包装对象使用详解
Jul 09 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
vue 2.0封装model组件的方法
Aug 03 Javascript
Vue下拉框回显并默认选中随机问题
Sep 06 Javascript
微信小程序实现收货地址左滑删除
Nov 18 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
python3实现点餐系统
2019/01/24 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python实现结构体代码实例
2020/02/10 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
可靠的数据流传输TCP
2016/03/15 面试题
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
财产公证书
2014/04/10 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python