An error occurs in eval(inStr) when inStr has prefix "+"(plus) sign with Netscape Navigator 3.0. But when inStr has "-"(minus), an error does not occur in eval(). The behaviors above might be a bug of NN3, because with NN4.78, inStr with prefix plus sign does not cause error.
Note2:
eval() of MSIE3 is so over generosity that MSIE3 does NOT point out errors whether inStr is abnormal like "-+-55" or missing exponent like "55e". (maybe its a bug I think). And MSIE4 and MSIE5 do same mistake for "-+-55". MSIE5 is right for "55e" (I don't know about MSIE4 for "55e" because of not tested). To my surprise, NN4.78 and Opera7.11, NN7.1 and Mozilla Firefox 1.0 do same mistake! for "-+-55". Why NN change a eval() behavior for worse? I am astounded at this situation, as if they copy eval() from MSIE's JScript.
If you have both NN3 and MSIE, compare the result. And you will find isNum() and dePlusSign() are robust against difference of browsers. So you can avoid errors while you check the value of isNum() before using eval(dePlusSign()).