Pembolehubah JavaScript boleh ditukar kepada pembolehubah baharu atau jenis data lain:
Tukar nombor kepada rentetan
Kaedah global String() boleh menukar nombor kepada rentetan.
Kaedah ini boleh digunakan untuk sebarang jenis nombor, huruf, pembolehubah, ungkapan:
Contoh
String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回
Kaedah nombor toString() juga mempunyai kesan yang sama.
Contoh
x.toString() (123).toString() (100 + 23).toString()
Tukar boolean kepada rentetan
全局方法 String() 可以将布尔值转换为字符串。 String(false) // 返回 "false" String(true) // 返回 "true" Boolean 方法 toString() 也有相同的效果。 false.toString() // 返回 "false" true.toString() // 返回 "true"
Tukar tarikh kepada rentetan
Kaedah global String() boleh menukar tarikh kepada rentetan.
String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Kaedah tarikh toString() juga mempunyai kesan yang sama.
Contoh
Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Tukar rentetan kepada nombor
Kaedah global Number() boleh menukar rentetan kepada nombor.
Rentetan yang mengandungi nombor (seperti "3.14") ditukar kepada nombor (seperti 3.14).
Rentetan kosong ditukar kepada 0.
Rentetan lain ditukar kepada NaN (bukan nombor).
Number("3.14") // 返回 3.14 Number(" ") // 返回 0 Number("") // 返回 0 Number("99 88") // 返回 NaN
Pengendali unary
Pengendali boleh digunakan untuk menukar pembolehubah kepada nombor:
Contoh
var y = "5"; // y 是一个字符串 var x = + y; // x 是一个数字
Jika pembolehubah tidak boleh ditukar, ia masih akan menjadi nombor, tetapi nilainya ialah NaN (bukan nombor):
Contoh
var y = "John"; // y 是一个字符串 var x = + y; // x 是一个数字 (NaN)
Tukar boolean kepada nombor
Kaedah global Number() menukar nilai Boolean ke nombor.
Number(false) // 返回 0 Number(true) // 返回 1
Tukar tarikh kepada nombor
Kaedah global Date() menukar tarikh kepada nombor.
d = new Date(); Number(d) // 返回 1404568027739
Kaedah tarikh getTime() juga mempunyai kesan yang sama.
d = new Date(); d.getTime() // 返回 1404568027739
Penukaran Jenis Jenis penukaran automatik
Apabila JavaScript cuba untuk beroperasi pada jenis data yang "salah", ia secara automatik akan menukar kepada jenis data "betul".
Output berikut bukanlah seperti yang anda jangkakan:
5 + null // 返回 5 because null is converted to 0 "5" + null // 返回"5null" because null is converted to "null" "5" + 1 // 返回 "51" because 1 is converted to "1" "5" - 1 // 返回 4 because "5" is converted to 5
ditukar secara automatik kepada rentetan
Apabila anda cuba mengeluarkan objek atau pembolehubah, JavaScript akan secara automatik memanggil kaedah toString() pembolehubah:
document.getElementById("demo").innerHTML = myVar; // if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]" // if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4" // if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
Nombor dan nilai Boolean juga sering ditukar antara satu sama lain:
// if myVar = 123 // toString 转换为 "123" // if myVar = true // toString 转换为 "true" // if myVar = false // toString 转换为 "false"