因为不是function
何来return?

解决方案 »

  1.   

    <script>
    function two_str_rela(str1,str2,rela,err_txt)
    {
     var flag = true;
     var str="if (!('"+str1+"'"+rela+"'"+str2+"')) {alert('"+err_txt+"');flag = false;}";
     eval(str);
     return flag
    }
    alert(two_str_rela("ccccccccc","bbbbbbbbb","<","error"));
    </script>
      

  2.   

    to zhfkiller:
    好用是好用,不过我的代码错在哪
      

  3.   

    eval只是一个全局方法,并不是函数,不能有return
      

  4.   

    eval(code);
    eval是全局方法,如果code含有一个或多个表达式,eval()将计算这个表达式,如果最后一个语句有返回值,它还会返回这个值。
    var str="if (!("+str1+rela+str2+")) \r\n{alert('"+err_txt+"');\r\nreturn false;}";
    你给出的表达式中最后的语句用return false;作返回,但return false语句是不能用作eval方法中的表达式,只能用作函数以作返回,所以会出错。