美文网首页
js中设置参数默认值问题

js中设置参数默认值问题

作者: 此鹿不通 | 来源:发表于2016-12-16 12:08 被阅读145次

在使用js时有时会遇到需要给相应函数的参数设置默认值的问题,如果按照强类型语言的方式直接给定初值会发现报错。如下:

<script>
  function test(id=0)
     {alert(id);}
</script>

js不能这样这样传进默认参数。那么应该怎么做呢?js已经给我们提供了一个内置属性arguments。具体可参考http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/03/2799833.html 此处只写出简单用法。

举例说明:

<script>
  function test(id,name,url)
     {
           if(!arguments[2]) id = "123";//设置id默认值为123
           if(!arguments[3]) name = "null";//设置name默认值为null
      }
</script>

简单来说,js这个内置对象arguments将函数的参数存为一个类似数组的对象,所以可以对arguments进行操作从而对参数赋默认值。

更新:当然现在es6已经支持强类型语言的方式直接给定初值。

相关文章

  • js中设置参数默认值问题

    在使用js时有时会遇到需要给相应函数的参数设置默认值的问题,如果按照强类型语言的方式直接给定初值会发现报错。如下:...

  • 深入理解ES6 ---- 函数

    函数参数默认值 (1) es5中模拟参数默认值: 这样可以为没有传入的参数,设置为默认值。这种方式的问题:如果co...

  • ES6学习笔记_函数的扩展

    为参数设置默认值 在ES5中,是不能直接为参数设置默认值的,可以通过||的逻辑运算符来设置,但是有个问题,如果||...

  • ES6函数扩展(箭头函数)

    一、函数参数的用法1、参数默认值的设置,与ES5 对比ES5中设置参数默认值的写法 这个写法有个缺陷:参数传递进来...

  • es6中的函数

    >es6中允许给函数的参数设置默认值,但是参数不能重复声明,参数名也不能相同 >与解构赋值默认值结合使用 >参数中...

  • js函数中参数设置默认值

    老方法 ES6方法(解构赋值)

  • 阮一峰的ES6---函数的扩展

    函数的扩展 一,函数参数的默认值 在ES5中,设置参数的默认值: function(x,y){x=x||"hell...

  • 现代JavaScript使用技巧

    函数参数设置默认值 为函数设置默认值很简单,直接在参数名后面加等号及值,如果该参数没有传参的话函数就会去取默认值,...

  • 函数的扩展

    参数默认值 ES5中设置默认值非常不方便, 我们这样写: 以上写法, 如果传入了参数, 但这个参数对应值的布尔型是...

  • 5-2 深入函数-定义与调用

    1.默认值参数 在Python中,可以在声明函数的时候,预先为参数设置一个默认值,当调用函数,如果某个参数具有默认...

网友评论

      本文标题:js中设置参数默认值问题

      本文链接:https://www.haomeiwen.com/subject/eisnmttx.html