数据类型转换
数值
var a='100'
var b='abc'
var c=true
var d=null
var e=undefined
var f='123abc'
var g='abc123'
var h='123.85'
var i='123.5.8'
1、Number(变量)
-
可将一个变量强制转换为数值类型
-
可转换小数并保留小数
-
可转换布尔值
-
遇到不可转换的返回NAN
var num1=Number(a) var num2=Number(b) var num3=Number(c) var num4=Number(d) var num5=Number(e) var num6=Number(f) var num7=Number(g) var num8=Number(h) var num9=Number(i) console.log(num1) // 数字 100 console.log(num2) // 数值类型 NAN console.log(num3) // 数字 1 console.log(num4) // 数字 0 console.log(num5) // 数值类型 NAN console.log(num6) // 数值类型 NAN console.log(num7) // 数值类型 NAN console.log(num8) // 数字 123.85 console.log(num9) // 数值类型 NAN
2、parseInt(变量)
-
从第一位开始检查,若为数字则进行转换,直到一个非数字内容
-
第一位是非数字则直接返回NAN
-
不识别小数,只保留整数
var nums1=parseInt(a) var nums2=parseInt(b) var nums3=parseInt(c) var nums4=parseInt(d) var nums5=parseInt(e) var nums6=parseInt(f) var nums7=parseInt(g) console.log(nums1) // 数字 100 console.log(nums2) // 数值类型 NAN console.log(nums3) // 数值类型 NAN console.log(nums4) // 数值类型 NAN console.log(nums5) // 数值类型 NAN console.log(nums6) // 数字 123 console.log(nums7) // 数值类型 NAN
3、parseFloat(变量)
-
从第一位开始检查,若为数字则进行转换,直到一个非数字内容
-
第一位是非数字则直接返回NAN
-
识别一次小数
var numr1=parseFloat(a) var numr2=parseFloat(b) var numr3=parseFloat(c) var numr4=parseFloat(d) var numr5=parseFloat(e) var numr6=parseFloat(f) var numr7=parseFloat(g) var numr8=parseFloat(h) var numr9=parseFloat(i) console.log(numr1) // 数字 100 console.log(numr2) // 数值类型 NAN console.log(numr3) // 数值类型 NAN console.log(numr4) // 数值类型 NAN console.log(numr5) // 数值类型 NAN console.log(numr6) // 数字 123 console.log(numr7) // 数值类型 NAN console.log(numr8) // 数字 123.85 console.log(numr9) // 数字 123.5
4、除加法外的数学运算
-
运算符两侧均要求为可运算数字
-
运算中任意一次为不可运算数则返回NAN
-
加法不可用
var anumber1=a-0 var anumber2=a*1 var anumber3=a/1 var bnumber1=b-0 var bnumber2=b*1 var bnumber3=b/1 var cnumber1=c-0 var cnumber2=c*1 var cnumber3=c/1 var dnumber1=d-0 var dnumber2=d*1 var dnumber3=d/1 var enumber1=e-0 var enumber2=e*1 var enumber3=e/1 var fnumber1=f-0 var fnumber2=f*1 var fnumber3=f/1 var gnumber1=g-0 var gnumber2=g*1 var gnumber3=g/1 var hnumber1=h-0 var hnumber2=h*1 var hnumber3=h/1 var inumber1=i-0 var inumber2=i*1 var inumber3=i/1 console.log(anumber1) // 数字 100 console.log(anumber2) // 数字 100 console.log(anumber3) // 数字 100 console.log(bnumber1) //数值类型 NAN console.log(bnumber2) //数值类型 NAN console.log(bnumber3) //数值类型 NAN console.log(cnumber1) // 数字 1 console.log(cnumber2) // 数字 1 console.log(cnumber3) // 数字 1 console.log(dnumber1) // 数字 0 console.log(dnumber2) // 数字 0 console.log(dnumber3) // 数字 0 console.log(enumber1) //数值类型 NAN console.log(enumber2) //数值类型 NAN console.log(enumber3) //数值类型 NAN console.log(fnumber1) //数值类型 NAN console.log(fnumber2) //数值类型 NAN console.log(fnumber3) //数值类型 NAN console.log(gnumber1) //数值类型 NAN console.log(gnumber2) //数值类型 NAN console.log(gnumber3) //数值类型 NAN console.log(hnumber1) // 数字 123.85 console.log(hnumber2) // 数字 123.85 console.log(hnumber3) // 数字 123.85 console.log(inumber1) //数值类型 NAN console.log(inumber2) //数值类型 NAN console.log(inumber3) //数值类型 NAN
字符串
var a=100
var b=true
var c=null
var d=undefined
1、变量.toString()
-
部分数据类型不能使用该方法进行转换,如undefined和null
var string1=a.toString() var string2=b.toString() var string3=c.toString() var string4=d.toString() console.log(string1) // 字符串 100 console.log(string2) // 字符串 true console.log(string3) // 报错 nnot read properties of null console.log(string4) // 报错 not read properties of undefined
2、String(变量)
-
所有数据类型均适用
var str1=String(a) var str2=String(b) var str3=String(c) var str4=String(d) console.log(str1) // 字符串 100 console.log(str2) // 字符串 true console.log(str3) // 字符串 null console.log(str4) // 字符串 undefined
3、加法运算
-
在JavaScript中,
+
有两个含义 -
字符串拼接:只要
+
任意一边为字符串即进行字符串拼接 -
加法运算:
+
两侧均为数字时才会进行算数运算var strs1=a+'' var strs2=b+'' var strs3=c+'' var strs4=d+'' console.log(strs1) // 字符串 100 console.log(strs2) // 字符串 true console.log(strs3) // 字符串 null console.log(strs4) // 字符串 undefined
布尔值
-
在JavaScript中,只有
''
、0
、null
、undefined
、NAN
是false,其余均为truevar a='' var b=0 var c=null var d=undefined var e=NaN var f=100 var boo1=Boolean(a) var boo2=Boolean(b) var boo3=Boolean(c) var boo4=Boolean(d) var boo5=Boolean(e) var boo6=Boolean(f) console.log(boo1) //布尔值 false console.log(boo2) //布尔值 false console.log(boo3) //布尔值 false console.log(boo4) //布尔值 false console.log(boo5) //布尔值 false console.log(boo6) //布尔值 true