1<script>
2function test(a,b,c)
3{
4 //todo something white a,b,c
5}
6var x=10;
7var y="";
8test(x,y);
9</script>
上面 test(a,b,c) 方法有三个参数,但是在调用的时候,却只传了2个参数2function test(a,b,c)
3{
4 //todo something white a,b,c
5}
6var x=10;
7var y="";
8test(x,y);
9</script>
如何在 test 方法中 判断是否有参数 c
我就在 test 中这样写的,结果还报错
/**
if(c =="undefiend")
{
alert("缺少参数");
}
*/
正确的写法原来是这样的
/**
if(c == void 0)
{
alert("缺少参数");
}
*/
用上面的判断就可以实现 javascript里的可选参数
--------
这是由于javascript是弱类型语言,在不同的应用环境下,会自动转换成相应的类型.
没有传参时,C的值应该是null,自动转换为false.所以没有必要用c==null这样的句子判断,直接用if (c)就行了
没有传参时,C的值应该是null,自动转换为false.所以没有必要用c==null这样的句子判断,直接用if (c)就行了