比较函数与文本值

Javascript Compare function with text values

本文关键字:文本 函数 比较      更新时间:2023-09-26

我有一些javascript编码/比较问题。alert(myfn)得到78>=99.35。我现在如何在功能中使用它?

if (document.getElementById('<%=g.ClientID%>').innerHTML != '') {
    var myvar = '';
    var myfn = '';
    myvar = document.getElementById('<%=a.ClientID%>').value + document.getElementById('<%=g.ClientID%>').innerHTML;
    //alert(myvar);
    myfn = myvar.replace('&gt;', '>').replace('&lt;', '<');
    alert(myfn);
    if (myfn) {
        alert("t");
    }
    if (78>=99.35) {
        alert("m");
    }
    //alert(Boolean(myfn));
}

可以使用eval函数。

http://www.w3schools.com/jsref/jsref_eval.asp

eval()函数计算或执行一个参数。

如果参数是表达式,eval()计算该表达式。如果参数是一个或多个JavaScript语句,eval()执行语句。

alert(eval("78>=99.35"));

更新:

如果您只需要做算术计算,那么您可以使用以下代码使eval更安全(如@JosephMalle指出的)

var exp = "78>=99.35";
exp = exp.replace(/[^0-9<>='-()'.]/g, "");
// or 
exp = exp.replace(/[^0-9<>='-()'.+*/|&'?%:]/g, "");
// which also includes bitwise, logical 
// and conditional (ternary) operators
alert(eval(exp));