js中function参数默认值

时间:2022-01-12 17:06:41

--在dreamweaver做网站时,函数定义是在一个*.js文件中,其中定义了一个func,有四个参数,function 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" onclick="test()">
运行结果报错,JS中不能这样传默认参数,上网查了一下,可以借助于arguments 实参数组,参考下例:

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

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

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

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