if (typeof(eval("SecondID")+x)!="undefined")

解决方案 »

  1.   

    eval("SecondID"+x)这段有什么意义??无任何assign操作
      

  2.   

    "SecondID"本身就不是一个变量,它只是一个字符串,只有加上数值型变量x才会生成一个变量名,所以用eval("SecondID")就用出错。出错信息提示:SecondID未定义。
      

  3.   

    由于"SecondID"+x是由程序动态生成的,所以我想判断"SessionID"+x是否存在,在执行其它的代码,因为x是无规律的,可能会因为数据库的修改而变化,所以必须进行判断,否则JavaScript代码会出错。
      

  4.   

    错在eval("SecondID"+x)
    eval解析的字符串必须是有效的javascript代码,若"SecondID"+x是没有定义过的变量,当然在eval解析时就会报错,外面的typeof鞭长莫及也。如此改
    if (eval("typeof SecondID"+x) != "undefined")
    或者索性eval到底
    if (eval("typeof SecondID"+x+" != 'undefined'")
      

  5.   


    w2ksrv=ie5.0测试ok!<script language=javascript>
    var SecondID1=1;
    x=1;
    alert(typeof(eval("SecondID"+x)));
    if (typeof("SecondID"+x) != "undefined") alert('ok');
    x=2;
    alert(typeof(eval("SecondID"+x)));//没定义SecondID2报错
    if (typeof("SecondID"+x) == "undefined") alert('err');
    </script>
    希望这个例子对你有所帮助。
    怀疑你的SecondID9的确没定义,检查一下对x的赋值是否正确,和你的做法是否正确。
      

  6.   

    http://www.refrigerationchina.com/agent/index.aspx
    代码在页面产部的产品导航中。我试试看,先谢谢上面两位
      

  7.   

    seeu1688(kangel) 是对的, 把 eval 放在 typeof 之前 eval('typeof SecondID'+ x)
    而 myvicy() 的代码 typeof("SecondID"+x) 得到的只是一个 string 而非 object, 是错的
      

  8.   

    如此改
    if (eval("typeof SecondID"+x) != "undefined")
    或者索性eval到底
    if (eval("typeof SecondID"+x+" != 'undefined'")
    这个只对了一个,就是前一个,第二个是错误的,不过问题按照第一种方法解决了。
      

  9.   

    不好意思,第二种方法漏了个右括号...if (eval("typeof SecondID"+x+" != 'undefined'"))