eval函數和isNaN函數

(一)eval函數定義:eval() 函數可計算某個字符串,並執行其中的的 JavaScript 代碼。javascript

(二)語法:eval(string)string必需。java

(三)返回值:經過計算 string 獲得的值(若是有的話)express

(四)說明:函數

該方法只接受原始字符串做爲參數,若是 string 參數不是原始字符串,那麼該方法將不做任何改變地返回。所以請不要爲 eval() 函數傳遞 String 對象來做爲參數。spa

若是試圖覆蓋 eval 屬性或把 eval() 方法賦予另外一個屬性,並經過該屬性調用它,則 ECMAScript 實現容許拋出一個 EvalError 異常。code

(五)拋出:對象

若是參數中沒有合法的表達式和語句,則拋出 SyntaxError 異常。blog

若是非法調用 eval(),則拋出 EvalError 異常。ip

若是傳遞給 eval() 的 Javascript 代碼生成了一個異常,eval() 將把該異常傳遞給調用者。字符串

(六)實例:

1 <script type="text/javascript">
2 eval("x=10;y=20;document.write(x*y)")
3 //結果200
4 document.write(eval("2+2"))
5 //結果4
6 var x=10
7 document.write(eval(x+17))
8 //結果27
9 </script>

異常實例:

//eval() 返回的結果:
//eval("2+3")    // 返回 5
//var myeval = eval;    // 可能會拋出 EvalError 異常
//myeval("2+3");    // 可能會拋出 EvalError 異常
//可使用下面這段代碼來檢測 eval() 的參數是否合法:try  {
     alert("Result:" + eval(prompt("Enter an expression:","")));
     }

catch(exception) {
     alert(exception);
     }

 

isNaN函數:

(一)定義和用法:isNaN() 函數用於檢查其參數是不是非數字值。

(二)語法:isNaN(x)  x必需。要檢測的值。

(三)返回值:若是 x 是特殊的非數字值 NaN(或者能被轉換爲這樣的值),返回的值就是 true。若是 x 是其餘值,則返回 false。

(四)說明:isNaN() 函數可用於判斷其參數是不是 NaN,該值表示一個非法的數字(好比被 0 除後獲得的結果)。

若是把 NaN 與任何值(包括其自身)相比獲得的結果均是 false,因此要判斷某個值是不是 NaN,不能使用 == 或 === 運算符。正由於如此,isNaN() 函數是必需的。

tip:isNaN() 函數一般用於檢測 parseFloat() 和 parseInt() 的結果,以判斷它們表示的是不是合法的數字。固然也能夠用 isNaN() 函數來檢測算數錯誤,好比用 0 做除數的狀況。

(五)實例:

 1 <script>
 2 document.write(isNaN(123));
 3 //false
 4 document.write(isNaN(-1.23));
 5 //false
 6 document.write(isNaN(5-2));
 7 //false
 8 document.write(isNaN(0));
 9 //false
10 document.write(isNaN("Hello"));
11 true
12 document.write(isNaN("2005/12/12"));
13 true
14 </script>
相關文章
相關標籤/搜索