javascript
【JS】我的JavaScript学习之路(6)
11.數據類型之間的轉換
由之前的例子我們可以看出,當我們直接把數值和字符串加在一起的時候,JavaScript會直接把數值轉換成字符串輸出。一般來說,在JavaScript中這種數據類型自動轉換是不會出錯的,但是也有的時候我們需要進行一些特定的轉換,比如我們用表單接收數據的時候,我們得到的數據都是以字符串形式出現的,如果我們需要整數或者小數神馬的,就需要轉換數據類型了。
例如,如果你用表單收集了"22"和"15"兩個字符串,你想把他們加和,如果直接"22"+"15"就成了"2215"了,因為表單收到的默認就是string類型。這里我們可以通過兩個函數parseInt()和parseFloat()來將字符串轉換成數值。
示例代碼(ch2_example7.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>ch2_example7</title></head><body><script type="text/javascript" language="JavaScript">var myString = "56.02 degrees centigrade";var myInt;var myFloat;document.write("\"" + myString +"\" is " +parseInt(myString) + "as an integer" + "<br>");myInt = parseInt(myString);document.write("\"" + myString + "\" when converted to an integer equals " + myInt + "<br/>");myFloat = parseFloat(myString);document.write("\"" + myString + "\" when converted to a floating point number equals " + myFloat);</script></body> </html>定義了一個叫myString的字符串,這是一個含有數值的字符串。
document.write("\"" + myString +"\" is " +parseInt(myString) + " as an integer" + "<br>");這里用了轉義符號\來輸出雙引號。用parseInt(myString)來轉換字符中的數值,將數值轉換成Int型。它的輸出是:
之后
myInt = parseInt(myString); document.write("\"" + myString + "\" when converted to an integer equals " + myInt + "<br/>");將轉換出來的Int型數值輸出:
如果轉換成小數呢
myFloat = parseFloat(myString); document.write("\"" + myString + "\" when converted to a floating point number equals " + myFloat);它的輸出是這樣的:
由此看來,parseXX()函數,是一個可以自動從字符串中找出數值信息,轉換成數值變量的一類函數。
?
12.處理不能轉換的字符串
在上面的實例中,如果我們把myString改成"I’m not a number",也就是說,在字符串中不出現任何數字,那么它的輸出就變成了這個樣子:
可以很清楚的看到,原來是數字的部分,現在變成了 "NaN" 。那么,NaN是啥?
NaN 就是 Not a Number.
如果被轉換的字符串里面沒有數值,那么,它就是NaN。這是JavaScript當中的一個特殊值。它擁有自己的函數 isNaN() , 它是用來檢測某個值是否為NaN。
myVar1 = isNaN("Hello");myVar1中存儲的就是布爾型的True,因為"Hello"不是數值。然而:
myVar2 = isNaN("34");myVar2中存儲的就是布爾型的False,因為"34"可以成功的被轉換為數值型的34。
如果我們在轉換時使用了不可轉換的字符串,那么原本應該出現數字的位置就會顯示NaN。所以為了避免此類問題,在轉換之前我們需要用isNaN()函數來檢測數據。
轉載于:https://www.cnblogs.com/zerolin/archive/2012/08/21/2649903.html
總結
以上是生活随笔為你收集整理的【JS】我的JavaScript学习之路(6)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目经理与敏捷开发
- 下一篇: jsp页面中使用超链接标签a中的属性hr