2012-09-13 63 views
-1

如果給定了一個javascript,它將用戶輸入的數字作爲輸入並確定數字是否爲正數,那麼在什麼情況下您會拋出異常?確定輸入數字在javascript中是否定或正數

+1

這看起來像功課。這裏有一些可以幫助你:http://en.wikibooks.org/wiki/JavaScript/Operators#Comparison_operators – Blender

+0

你的問題不清楚。你想要做什麼?正面或負面,或驗證輸入? – karthikr

+0

它的一個JavaScript程序,確定用戶輸入是否爲正或負值問我什麼時候會有一個時間,其中id必須拋出一個異常 –

回答

2

您應該拋出異常例外的情況。如果你接受一個數字(正數或負數)的輸入,那麼不符合標準的東西,比如說一個字符串或一個對象,應該被視爲例外。

實施例:

// Assume the variable 'input' contains the value given by user... 
if(typeof input != "number") { 
    throw "Input is not number!" 
} 
else { 
    // ... handle input normally here 
} 
+0

爲什麼'5'<'10'會拋出錯誤? – RobG

0

答案取決於代碼。

一個明顯的功能是:

function isPosOrNeg(x) { 
    return x < 0? 'negative' : 'positive'; 
} 

這是很難看到的是拋出異常。如果x是一個無法解析的引用,可能會有一個,但它不是(它是一個形式化的參數,因此實際上是一個聲明的變量)。

<運算符使用abstract relational comparison algorithm,它不會引發錯誤,但它可能會返回undefined,具體取決於所提供的值。

我不會拋出一個錯誤,因爲undefined是一個完全合理的響應,調用者可以處理。

如果你想測試的參數,那麼也許:

function isPosOrNeg(x) { 

    if (isNaN(Number(x))) { 
    // throw an error 
    } 

    return x < 0? 'negative' : 'positive'; 
} 

使isPosOrNeg('foo')拋出一個錯誤,但isPosOrNeg('5')沒有。

0

你可以試試這個:

var inp="your input value"; 
    if(isNaN(inp)){ 
     return "Not a number"; 
    } else { 
     if(inp > 0) { 
      return 'positive number'; 
     } else if(inp < 0) { 
      return 'negative number'; 
     } else { 
      return 'number is zero'; 
     } 
    } 
相關問題