JavaScript 類型轉換
Number() 轉換為數字, String() 轉換為字串, Boolean() 轉換為布林值。
JavaScript 資料型別
#在JavaScript 中有5 個不同的資料型別:
string
number
#boolean
object
- ##function
3 種物件類型:
- ##Object
- Date
- Array
#2 個不包含任何值的資料型別:
null
undefined
- typeof 運算子
- 你可以使用 typeof 運算子來檢視JavaScript 變數的資料型態。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(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
日期(Date)的資料型別為objectnull 的資料型別是object
如果物件是JavaScript Array 或JavaScript Date ,我們就無法透過 typeof 來判斷他們的類型,因為都是回傳Object。
constructor 屬性
#constructor 屬性傳回所有 JavaScript 變數的建構子。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(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中文网(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中文网(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 自身自動轉換##################將數字轉換為字串############全域方法 String() 可以將數字轉換為字串。 ###該方法可用於任何類型的數字,字母,變量,表達式:
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(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中文网(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>
執行程式嘗試
數字轉換為字串的方法:
方法 | 描述 |
---|---|
#toExponential() | 把物件的值轉換為指數計數法。 |
toFixed() | 把數字轉換成字串,結果的小數點後面有指定位數的數字。 |
toPrecision() | 把數字格式化為指定的長度。 |
將布林值轉換為字串
全域方法 String() 可以將布林值轉換為字串。
false.toString() // 返回"false"String(false) // 回傳"false"
。
String(true) // 返回"true"
true.toString() // 返回"true"將日期轉換為字串
全域方法 String() 可以將日期轉換為字串。
##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() | |||||||
##說明 | |
---|---|
解析一個字串,並傳回一個浮點數。 | |
解析一個字串,並傳回一個整數。 |