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自定义函数及参数问题相关推荐

  1. Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇

    文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...

  2. Python 自定义函数和参数类型

    目录 1. 自定义函数 2. 参数 (1)必备参数 (2)关键字参数 (3)默认参数 (4)不定长参数 1. 自定义函数 Python 提供了很多内置函数如 set(),  print() 等,用户也 ...

  3. js中函数的参数为函数的情况即回调函数

    js中函数的参数可以是数组对象也可以是函数,当参数为函数时我们叫做回调函数 //定义回调函数 function B() { console.log("函数B") setTimeou ...

  4. 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 ...

  5. php自定义函数参数,php自定义函数的参数

    PHP自定义函数时怎么指定参数类型? 请问:PHP自定义函数时怎么指定参数类型? 比如 function foo(int $n, strclass User{ public $name; public ...

  6. php 多参数函数,php自定义函数的参数在函数间传递的三种方式详解

    在调用函数时,需要向函数传递参数,被传入的参数成为实参,而函数定义时的参数为形参.上一章节我们对php自定义函数的参数进行了实例讲解,本章节就重点介绍一下函数间参数传递的3种方式:按照值传递,按引用传 ...

  7. Excel-DNA自定义函数的参数智能提示功能

    Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar 解压缩后,可以看到如下3个文件. ExcelDna.IntelliSense.xll 以及 ...

  8. js中函数传递参数,究竟是值传递还是引用传递?

    记住真理: js函数传递参数,不管是简单数据类型,还是引用数据类型,都是值传递!! 下面是js红包书里面的例子: function setName(obj) { obj.name = "Ni ...

  9. py6_Python 内置函数/普通自定义函数 及参数和返回值

    ################################################## 目录 活动简介 Python 函数参数 如何定义一个函数 示例定义一个无参函数 形参和实参的概念 ...

最新文章

  1. python pillow 图片处理
  2. 关于修改session的生存时间以及回收机制
  3. linux桌面添加软件快捷方式,如何在 Ubuntu 桌面手动添加应用快捷方式
  4. manifest php,Laravel PackageManifest.php: Undefined index: name
  5. 反汇编基础-MSVC2012,2008,MinGw中控制台main函数入口特征
  6. python ddt
  7. 豪情-2014年年终总结
  8. JDK和IDEA的安装(JDK11及以上版本自带JRE)
  9. 城域容灾体系的突破性进展
  10. Linux 用户必须知道的 14 个常用 Linux 终端快捷键
  11. wps合并重复项并求和_wps中在同一张表格中怎么将相同项合并并求和
  12. three.js 场景编辑器 源码解析(六)
  13. 积分分汇界面将判断放到D层后,D层的写法
  14. Mininet教程(六):多数据中心带宽实验
  15. GPIO实现I2C从机的设计[1]
  16. 成人世界的规则,越早了解,越早受益
  17. 8大蓝牙电路应用热门方案,快速简单实现近距离无线连接
  18. 框架成为新的编程语言的7种理由
  19. Android毕业设计答辩会问什么问题,毕业论文答辩一般会问什么问题怎么回答
  20. 从零开始入门创作游戏——2D沙盘类随机地图的生成

热门文章

  1. Advanced Installer 打包程序并支持自动升级
  2. EF 4.1+MVC3+Jquery Ajax+Json.Net+JqueryUI+IUnitOfWork+Repository 学习DEMO(暂停更新)
  3. [Java开发之路](23)装箱与拆箱
  4. php完美实现下载远程图片保存到本地(保存微信头像)
  5. 理解 TCP(二):报文结构
  6. 一次关于DNS服务器的故障排错记录——RNDC故障
  7. 【转】Android真机抓屏- Android Screen Monitor
  8. PHP实现上一篇、下一篇
  9. [IE技巧] 禁止/允许显示网页上Flash的小插件
  10. Raspberry Zero 上实现平滑视频图传