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

 

 

 

posted @ 2009-12-30 13:26  Silver.Lee  阅读(44567)  评论(1编辑  收藏  举报