1
<script>
2
function test(a,b,c)
3
{
4
//todo something white a,b,c
5
}
6
var x=10;
7
var y="";
8
test(x,y);
9
</script>
上面 test(a,b,c) 方法有三个参数,但是在调用的时候,却只传了2个参数
<script>2
function test(a,b,c)3
{4
//todo something white a,b,c5
}6
var x=10;7
var y="";8
test(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)就行了

浙公网安备 33010602011771号