JavaScript variables can be converted to new variables or other data types:
Convert number to string
The global method String() can convert numbers to strings.
This method can be used for any type of numbers, letters, variables, expressions:
Example
String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回
Number method toString() also has the same effect.
Example
x.toString() (123).toString() (100 + 23).toString()
Convert boolean to string
全局方法 String() 可以将布尔值转换为字符串。 String(false) // 返回 "false" String(true) // 返回 "true" Boolean 方法 toString() 也有相同的效果。 false.toString() // 返回 "false" true.toString() // 返回 "true"
Convert date to string
Global method String() can convert date to string.
String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Date method toString() also has the same effect.
Example
Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Convert string to number
The global method Number() can convert strings into numbers.
Strings containing numbers (such as "3.14") are converted to numbers (such as 3.14).
Empty strings are converted to 0.
Other strings are converted to NaN (not a number).
Number("3.14") // 返回 3.14 Number(" ") // 返回 0 Number("") // 返回 0 Number("99 88") // 返回 NaN
Unary operator
Operator can be used to convert variables to numbers:
Example
var y = "5"; // y 是一个字符串 var x = + y; // x 是一个数字
If the variable cannot be converted, it will still be a number, but the value will be NaN (not a number):
Example
var y = "John"; // y 是一个字符串 var x = + y; // x 是一个数字 (NaN)
Convert boolean to number
Global method Number() converts Boolean values to numbers.
Number(false) // 返回 0 Number(true) // 返回 1
Convert date to number
Global method Date() converts dates into numbers.
d = new Date(); Number(d) // 返回 1404568027739
The date method getTime() also has the same effect.
d = new Date(); d.getTime() // 返回 1404568027739
Automatic conversion type Type Conversion
When JavaScript attempts to operate on a "wrong" data type, it will automatically convert to the "correct" data type.
The following output is not what you expect:
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
automatically converted to string
When you try to output an object or a variable, JavaScript will automatically call the variable’s toString() method:
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"
Numbers and Boolean values are also often converted to each other:
// if myVar = 123 // toString 转换为 "123" // if myVar = true // toString 转换为 "true" // if myVar = false // toString 转换为 "false"