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 实参数组,参考下例:
- <script>
- function test(a){
- var b=arguments[1]?arguments[1]:50
- return a+':'+b
- }
- alert(test(5))
- alert(test(5,9))
- </script>
跟其他语言的一点小区别。。
--var b=arguments[1]?arguments[1]:50 还可以写做: var b= arguments[1] || 50; 我特别喜欢它这个特性。
--var b= arguments[1] || 50; 这个方法相当精简啊。