typeof(a) 执行时不会有异常抛出,但是自己定义的函数比如test(a),执行时就会告诉a未定义,有没有办法设计test让它执行时不抛出未定义的异常?   (执行时在函数外try{}catch{}不算)

解决方案 »

  1.   

    test(a)的执行过程是:1. 计算a的值 //异常发生
    2. 传递参数给test
    3. 运行test的代码可见,异常发生时,test的代码还没有机会运行。所以你不可能设计这样的test。
      

  2.   

    function test(a)
    {
    alert(a)
    }test(typeof(a)=='undefined' ? null : a)
    这个意思?
      

  3.   


    不是,是在未声明a的情况下直接执行test(a),希望没有'a为定义'的异常抛出,而且希望此设计在test函数内完成