日期:2014-05-16 浏览次数:20355 次
function showMenu(ctrlid, click, offset, duration, timeout, layer, showid, maxh) { }
<script language="javascript" type="text/javascript"> function test(a, b, c) { alert("a=" + a + "\r\nb=" + b + "\r\nc=" + c); } test("1"); // a=1 // b=undefined // c=undefined </script>
------解决方案--------------------
可以的 ,js支持参数缺省
------解决方案--------------------
应该这样说:javascript允许参数缺失,未传入值得形参为 undefined 格式数据
javacript 不支持缺省参数,要实现参数缺省其实需要自己判断各个形式参数是否有合理定义格式和值,对不正确的进行初始化。
比如:
function test(fun,str1,str2){
if (typeof str1 != 'string') str1='';
if (typeof str2 != 'string') str2='';
if (typeof fun != 'function') fun=null;
if (fun){
return fun(str1,str2);
}else{
alert("no");
return null;
}
}
function strshow(str1,str2){
var tmp=str1+str2;
alert(tmp);
return null;
}
test();
test(strshow);
test(strshow,"ok1");
test(strshow,"ok1","ok2");
test(strshow,"ok1","ok2","ok3");
真正支持缺省参数的语言有python等。
------解决方案--------------------
可以根据arguments来判断
function test()
{
swith(arguments.length)
{
case 0:
break;
case 1:
//----
alert(arguments[0]);
break;
default:
}
}