程序员旅程

Javascript 强制类型转换

2019-06-26  本文已影响21人  love随心

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

上一篇下一篇

猜你喜欢

热点阅读