js中function参数默认值

–在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. }
  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; 这个方法相当精简啊。

 

发表回复