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