没有赋值的参数就是undefined
<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>
<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>
解决方案 »
- 求分享经验!
- 请问ff如何获取元素左/上边框宽度?
- 鼠标经过改变表格背景属性~~
- js能实现博客CSS样式的全局改变吗
- 如何清除除了<p>和</p>标记以外的其它标,正则表达式,求解,
- 有点小揪心,IE和chrome上预浏览图片问题。
- 请问:如何从一个包含年月日的日期字符串中分别取出年、月、日,这样写哪错了?
- 问关于一个用于JS实现Tab页的问题?
- 请问一下。在列表框中能不能实现点击其中的一项。弹出来一个弹出窗口?
- 怎么样在一个js文件里面调用另外一个js文件???
- c# \java \javascript如何根据网址 获得 网站的标题
- JavaScript中用jQuery的$("#categoryPanel > ul").tabs();问题???
参考:if (typeof(b) == "undefined") b = "Zswang 路过";
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等。
function test()
{ swith(arguments.length)
{
case 0:
break;
case 1:
//----
alert(arguments[0]);
break;
default:
}
}