2012-10-24 23 views

回答

1

有在Javascript沒有整數數據類型,所以你必須檢查的值是什麼,也就是說,如果有任何小數部分:

if (value % 1 != 0) { 
    // use it as integer 
} else { 
    // use it as floating point 
} 
+0

這將失敗的小數點後沒有任何值的數字,但仍需要考慮爲一個小數,例如:5.0 – techfoobar

+0

@techfoobar'5.0 === 5'和'5.0'評估爲'5'。沒有辦法區分它們,除非它們是'字符串' –

+0

@JanDvorak - 是的。但取決於OP的需求。即使JS只將5.0存儲爲5(類型編號),如果OP希望5.0被認爲是他正在討論的* polymorphic *函數中的浮點數,那該怎麼辦? – techfoobar

1

最好的一個解決方案是不依賴於方法重載(這是你在這裏尋找的東西,真的,而在JS中不可用),而是使用不同的函數名稱,並有兩個功能。

這意味着您將不得不在決定調用哪個函數的位置,但這與其他語言(如Java,C#,C)類似,其中此決定是在編譯時進行的。

0

是的。 JavaScript沒有函數參數的類型化。 整數和浮點數是一個類類型的對象 - 數字