function test(a)
{
   String(a)=="undefined"&&(a=1);
   alert(a);
}
test();
可以用变相的方法解决的哦

解决方案 »

  1.   

    是这样子吗?<script language="JavaScript">
    function test()
    {
        var a = arguments[0] || "Default Value";
        alert(a);
    }
    test();
    test('baobao');
    </script>
      

  2.   

    function test()
    {
    var a= (arguments.length<1) ?1:arguments[0]
       alert(a);
    }
    test();
    test(2);
    test(3);
    其实和wanghr100(灰豆宝宝.net) 的等效了,可能容易理解一点
      

  3.   

    wanghr100(灰豆宝宝.net)的其实有bug了刚才没发现:<script language="JavaScript">
    function test()
    {
        var a = arguments[0] || "Default Value";
        alert(a);
    }
    test("");
    </script>
      

  4.   

    同样的以下的值也都能骗过wanghr100(灰豆宝宝.net)的程序:test(null);
    test(false);
    test(undefined)
      

  5.   

    <SCRIPT LANGUAGE="JavaScript">
    function test(a, b)
    {
    var a = (typeof(a) == "undefined"?1:a);
    var b = (typeof(b) == "undefined"?2:b);
    alert(a + b);
    }test()
    test(3);
    test(3,4);
    </SCRIPT>