js中function参数默认值

转载自:http://www.cnblogs.com/silverLee/archive/2009/12/30/1635942.html

func(string1,url,flag,icon),然后在另一个asp中调用它func(a,b),那flag和icon的值是什么,怎么定义默认值?谢谢!

--默认值应该是 undefined

在函数内预设数可以用 arguments[i]

i就是你参数的位置 第一个为0

所以要设定 flag 的默认值 则可以这么写
function func(string1,url,flag,icon){
  if(!arguments[2]) flag = "123";
  if(!arguments[3]) icon = "456";
}

你试试 应该是这样

--------------------------------------------------------------------------------

今天遇到一个问题,需要调用一个JS函数,想在函数中给它一个默认参数,以为跟其他语言一样。
<script>
function test(id=0){
    alert(id);
}
</script>
<input type="button" value="test" οnclick="test()">
运行结果报错,JS中不能这样传默认参数,上网查了一下,可以借助于arguments 实参数组,参考下例:

 

  1. <script>  
  2. function test(a){  
  3. var b=arguments[1]?arguments[1]:50  
  4. return a+':'+b  
  5. }  
  6. alert(test(5))  
  7. alert(test(5,9))  
  8. </script>  

跟其他语言的一点小区别。。

--var b=arguments[1]?arguments[1]:50 还可以写做: var b= arguments[1] || 50; 我特别喜欢它这个特性。

--var b= arguments[1] || 50; 这个方法相当精简啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值