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 相关文章推荐
初窥JQuery(二) 事件机制(1)
Nov 25 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 Javascript
jquery实现弹出层遮罩效果的简单实例
Mar 03 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
JS动态加载脚本并执行回调操作
Aug 24 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
Aug 17 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
React Native 混合开发多入口加载方式详解
Sep 23 Javascript
Vue.js组件props数据验证实现详解
Oct 19 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开发者的10个技巧
2011/02/25 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
Python列表操作方法详解
2020/02/09 Python
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
综合实践活动总结
2014/05/05 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
硕士学位申请报告
2015/05/15 职场文书
爱国教育主题班会
2015/08/14 职场文书
Android Rxjava3 使用场景详解
2022/04/07 Java/Android
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers
A22国内电台短波广播频率表
2022/05/10 无线电