JavaScript 類型轉換
Number() 轉換為數字, String() 轉換為字串, Boolean() 轉換為布林值。
JavaScript 資料型別
在JavaScript 中有5 種不同的資料型態:
string
- ##number
- boolean
- #object
- function
- #3 種物件類型:
#Date
undefined- typeof 運算子
你可以使用
typeof 運算子來檢視JavaScript 變數的資料型別。 - 實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量、对象、函数、表达式的类型。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof NaN + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34} + "<br>" + typeof new Date() + "<br>" + typeof function () {} + "<br>" + typeof myCar + "<br>" + typeof null; </script> </body> </html>
運行實例»點擊"運行實例" 按鈕查看線上實例
NaN 的資料型別是number
陣列(Array)的資料型別是object
如果物件是JavaScript Array 或JavaScript Date ,我們就無法透過實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> constructor 属性返回变量或对象的构造函数。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "john".constructor + "<br>" + (3.14).constructor + "<br>" + false.constructor + "<br>" + [1,2,3,4].constructor + "<br>" + {name:'john', age:34}.constructor + "<br>" + new Date().constructor + "<br>" + function () {}.constructor; </script> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
你可以使用constructor 屬性來查看是物件是否為數組 (包含字串"Array"):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>##########運行實例»#####點擊"運行實例" 按鈕查看線上實例#########你可以使用constructor 屬性來查看是物件是否為日期 (包含字串"Date"):#########實例######
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为日期。</p> <p id="demo"></p> <script> var myDate = new Date(); document.getElementById("demo").innerHTML = isDate(myDate); function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; } </script> </body> </html>##########運行實例»#####點擊"運行實例" 按鈕查看線上實例######
JavaScript 型別轉換
JavaScript 變數可以轉換為新變數或其他資料型別:
透過使用JavaScript 函數
透過JavaScript 自行自動轉換
將數字轉換為字串
全域方法String() 可以將數字轉換為字串。
該方法可用於任何類型的數字,字母,變量,表達式:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> String() 方法可以将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(123) + "<br>" + String(100 + 23); </script> </body> </html>
運行實例»
點擊"執行實例" 按鈕查看線上實例
Number 方法toString() 也是有相同的效果。
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>toString() 方法将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 23).toString(); </script> </body> </html>
運行實例»
點擊"運行實例" 按鈕查看線上實例
在Number 方法章節中,你可以找到更多數字轉換為字串的方法:
描述 | |
---|---|
#toExponential() | 把物件的值轉換成指數計數法。 |
toFixed() | 把數字轉換成字串,結果的小數點後面有指定位數的數字。 |
toPrecision() | 把數字格式化為指定的長度。 |
將布林值轉換為字串
全域方法 String() 可以將布林值轉換為字串。
String(false) // 回傳"false"
String(true) //#true)
// 返回"true"String(true) //#true)
Boolean 方法
toString() 也有相同的效果。
false.toString() // 回傳"false"true.toString()// 回傳"true"
false.toString() // 回傳"false"true.toString()
#將日期轉換為字串全域方法
String() 可以將日期轉換為字串。
#
String(Date())
// 回傳Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)Date 方法
toString( ) 也有相同的效果。
實例#
Date().toString()
// 返回Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)方法 | |
---|---|
getDate () | |
getDay() | |
getFullYear() | |
getHours() | |
getMilliseconds() | |
getMinutes() | |
getMonth() | |
getSeconds() | |
getTime() |
將字串轉換為數字
全域方法 Number() 可以將字串轉換為數字。
字串包含數字(如 "3.14") 轉換為數字 (如 3.14).
空字串轉換為 0。
其他的字串會轉換為 NaN (不是個數字)。
Number("3.14") // 回傳3.14
Number(" ") #//返回0
Number("") // 返回0
Number("99 88") //返回NaN
Number(" ") #//返回0
Number("") // 返回0
Number("99 88") //返回NaN
在Number 方法章節中,你可以查看到更多關於字串轉為數字的方法: