Robin's Blog

记录 积累 学习 成长

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
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个参数

如何在 test 方法中 判断是否有参数 c
我就在 test 中这样写的,结果还报错

/**
    if(c =="undefiend")
    {
      alert("缺少参数");

    }
*/

正确的写法原来是这样的
/**
    if(c == void 0)
    {
      alert("缺少参数");
    }
*/

用上面的判断就可以实现 javascript里的可选参数

--------

   
这是由于javascript是弱类型语言,在不同的应用环境下,会自动转换成相应的类型.

没有传参时,C的值应该是null,自动转换为false.所以没有必要用c==null这样的句子判断,直接用if (c)就行了

posted on 2009-02-11 16:38  Robin99  阅读(701)  评论(0编辑  收藏  举报