js自定义函数及参数问题
js自定义函数的过程中,往往我们希望指定一些参数的默认值
很容易的会写出如下的js 方法
function test(a,b,c=1,d='id'){
return 1;
}
但是定义完之后,浏览器会提示页面错误,导致函数无法使用(如chrome)
当然在某些浏览器中 函数仍然是可以正常使用的(比如firefox)
如此看来,这个function 肯定是相当不合要求的
实际上js是不能这样定义function的,(不像php等其他编程语言)
解决
方案一:借助arguments实参数组来实现,改写如下:
function test(a,b){
c = arguments[2] ? arguments[2] : 1;
d = arguments[3] ? arguments[3] : 'id';
return 1;
}
方案二:在function中判断参数是否已定义,改写如下:
function test(a,b,c,d){
if(c === undefined) c=1;
if(d === undefined) d='id';
return 1;
}
看起来两种解决方案也没什么太大差异。。。
需要注意的是js中的数组下标从 0 开始
噢了 :)
转载于:https://blog.51cto.com/vsfor/1309298
js自定义函数及参数问题相关推荐
- Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇
文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...
- Python 自定义函数和参数类型
目录 1. 自定义函数 2. 参数 (1)必备参数 (2)关键字参数 (3)默认参数 (4)不定长参数 1. 自定义函数 Python 提供了很多内置函数如 set(), print() 等,用户也 ...
- js中函数的参数为函数的情况即回调函数
js中函数的参数可以是数组对象也可以是函数,当参数为函数时我们叫做回调函数 //定义回调函数 function B() { console.log("函数B") setTimeou ...
- python自定义函数参数_python自定义函数的参数之四种表现形式
(1)def a(x,y):print x,y 这是最常见的定义方式,调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 (2)def a(x,y=3 ...
- php自定义函数参数,php自定义函数的参数
PHP自定义函数时怎么指定参数类型? 请问:PHP自定义函数时怎么指定参数类型? 比如 function foo(int $n, strclass User{ public $name; public ...
- php 多参数函数,php自定义函数的参数在函数间传递的三种方式详解
在调用函数时,需要向函数传递参数,被传入的参数成为实参,而函数定义时的参数为形参.上一章节我们对php自定义函数的参数进行了实例讲解,本章节就重点介绍一下函数间参数传递的3种方式:按照值传递,按引用传 ...
- Excel-DNA自定义函数的参数智能提示功能
Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar 解压缩后,可以看到如下3个文件. ExcelDna.IntelliSense.xll 以及 ...
- js中函数传递参数,究竟是值传递还是引用传递?
记住真理: js函数传递参数,不管是简单数据类型,还是引用数据类型,都是值传递!! 下面是js红包书里面的例子: function setName(obj) { obj.name = "Ni ...
- py6_Python 内置函数/普通自定义函数 及参数和返回值
################################################## 目录 活动简介 Python 函数参数 如何定义一个函数 示例定义一个无参函数 形参和实参的概念 ...
最新文章
- python pillow 图片处理
- 关于修改session的生存时间以及回收机制
- linux桌面添加软件快捷方式,如何在 Ubuntu 桌面手动添加应用快捷方式
- manifest php,Laravel PackageManifest.php: Undefined index: name
- 反汇编基础-MSVC2012,2008,MinGw中控制台main函数入口特征
- python ddt
- 豪情-2014年年终总结
- JDK和IDEA的安装(JDK11及以上版本自带JRE)
- 城域容灾体系的突破性进展
- Linux 用户必须知道的 14 个常用 Linux 终端快捷键
- wps合并重复项并求和_wps中在同一张表格中怎么将相同项合并并求和
- three.js 场景编辑器 源码解析(六)
- 积分分汇界面将判断放到D层后,D层的写法
- Mininet教程(六):多数据中心带宽实验
- GPIO实现I2C从机的设计[1]
- 成人世界的规则,越早了解,越早受益
- 8大蓝牙电路应用热门方案,快速简单实现近距离无线连接
- 框架成为新的编程语言的7种理由
- Android毕业设计答辩会问什么问题,毕业论文答辩一般会问什么问题怎么回答
- 从零开始入门创作游戏——2D沙盘类随机地图的生成
热门文章
- Advanced Installer 打包程序并支持自动升级
- EF 4.1+MVC3+Jquery Ajax+Json.Net+JqueryUI+IUnitOfWork+Repository 学习DEMO(暂停更新)
- [Java开发之路](23)装箱与拆箱
- php完美实现下载远程图片保存到本地(保存微信头像)
- 理解 TCP(二):报文结构
- 一次关于DNS服务器的故障排错记录——RNDC故障
- 【转】Android真机抓屏- Android Screen Monitor
- PHP实现上一篇、下一篇
- [IE技巧] 禁止/允许显示网页上Flash的小插件
- Raspberry Zero 上实现平滑视频图传