JS中的数据类型:
1.值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
2.引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
一、其他类型转string类型
1.使用toString()方法
var a = 123
var str = a.toString()
alert(typeof(str)) // string
2.使用String()函数
var a = 123
var str = String(a)
alert(typeof(str)) // string
3.两者的区别
var a = null
var strA1 = a.toString() // 报错
var strA2 = String(a)
console.log(typeof(strA2)) // string
var b = undefined
var strB1 = b.toString() //报错
var strB2 = String(b)
console.log(typeof(strB2)) // string
结论:使用toString()方法转换null和undefined会报错,String()函数实用性更广泛
二、其他类型转number类型
1.使用Number()函数
var str = "123"
var a = Number(str)
alert(typeof(a)) // number
2.使用parseInt()函数/parseFloat()函数
var str = "123"
var a = parseInt(str)
console.log(typeof(a)) // number
3.两者的区别
var str = "123a123" //字符串中有非法数字
var a = Number(str)
var b = parseInt(str)
console.log(a) // NaN
console.log(b) // 123
结论:当字符串中含有非数字,调用Number()函数转换后值为NaN,调用parseInt()函数会从左到右依次提取出是数字的部分,一旦遇到非数字立即停止提取
三、其他类型转boolean类型
1.使用Boolean()函数
var num1 = Boolean(0)
var num2 = Boolean(NaN)
var str = Boolean("")
var n = Boolean(null)
var un = Boolean(undefined)
console.log(num1) //false
console.log(num2) //false
console.log(str) //false
console.log(n) //false
console.log(un) //false
结论:number类型除了0,其他都是true。string类型除了空串,其他都是true
网友评论