當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript类型注意事项
生活随笔
收集整理的這篇文章主要介紹了
javascript类型注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下是javascript類型的注意事項:
- null:表示尚未存在的對象,注意,盡管尚未存在,也是個對象啊,所以用typeof檢測一個null值變量的結果是Object;不過,為了便于寫if語句,在js中,"undefined==false", "null=false", 因此,"undefined==null"。
- 整數:最容易犯的錯誤就是,忘了070其實是個八進制數,相當于十進制的56;
- 浮點數:“在進行運算之前,真正存儲的是字符串”——這應該是解釋執行的本質決定的吧——直接后果是,alert(0.8)這樣的語句可以正確輸出,而alert(2*0.8)的輸出就成了"2.40000000000000003"
- 數字邊界:數字有幾個邊界值,分別是Number.MAX_VALUE(最大值), Number.MIN_VALUE(最小值), Number.POSITIVE_INFINITY(正無窮), Number.NEGATIVE_INFINITY(負無窮), Infinity(無窮大,-Infinity,這個有點莫名其妙,不知道為啥又搞出一套);特別地,還有一個isFinit(iNumber)函數來判斷數字是否為無窮大。
- NaN:一些需要數字作為參數的函數,當傳入的實參無法轉換為數字時,往往會返回這個值;關于NaN,最重要的就是要記住NaN!=NaN,因此判斷一個變量是否為NaN,一定要使用isNaN(var)函數。
- 將字符串轉換為數字:sVar.parseInt()是最常用的函數,也最容易出錯,為了保險起見,最好每次調用的時候,都加上“進制”的參數,比如:a.parseInt(10),就制定了按十進制轉換字符串a;Number(sVar)也是一種轉換方式,不同的是,它要求整個字符串都得是有效數字,因此Number("4.5.5")將返回NaN;
- 判斷變量類型:一般情況下,可以先用typeof 運算符,如果結果是"object",再用instanceof來判斷;奇怪的是,不知道是ECMAScript標準的問題還是IE實現的問題,instanceof不認為原始類型值的變量是對象,而使用constructor屬性似乎可以應付所有類型的變量,如下:
?
1 var temp="a string for test"; 2 //下面這句返回"string" http://sosoft.cnblogs.com/ 3 alert( typeof temp); 4 //下面這句返回"false" 5 alert(temp instanceof String); 6 7 //下面這句就回返"true"了 8 var temp2=new String("another new string"); 9 alert(temp2 instanceof String); 10 11 //constructor屬性是很好的替代品 12 //下面這句返回"true" 13 alert(temp.constructor==String);?
http://www.cnblogs.com/sosoft/
轉載于:https://www.cnblogs.com/sosoft/p/javascriptnote.html
總結
以上是生活随笔為你收集整理的javascript类型注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript,css延迟加载器
- 下一篇: 迈向系统架构师