检测数据类型
typeof 要检测的变量
返回值以字符串的形式给你变量的数据类型
两种写法
//第一种
var a1 = 100
var res = typeof a1
console.log(res)
//第二种
var a2 = '100'
var res2 = typeof(a2)
console.log(res2)
//区别如下
var s1 = 100
var s2 = 200
//得到的结果是个缝合怪 这样写只会检测紧跟的第一个变量而不会检测第二个
var rng1 = typeof s1 + s2
console.log(rng1)
//得到的结果是Number 这样写会进行运算后再检测
var rng2 = typeof(s1+s2)
console.log(rng2)
//当连用两个及以上的typeof时一定得到的是string
var rng3 = typeof typeof s1
//从右向左检测先检测是s1得到number 然后检测了number 得到string
console.log(rng3)
!!!只能检测基本数据类型
数值: number
字符串: string
布尔: boolean
undefined: undefined
null: object
console.log(typeof 100)
console.log(typeof '100')
console.log(typeof true)
console.log(typeof undefined)
console.log(typeof null)
数据类型转换
转数值
1.Number(你要转换的数据)
//返回值为转换好的数据
var q1 = '100'
console.log(q1)
var res = Number(q1)
console.log(res)
var q2 = 'aaa'
console.log(q2)
var res2 = Number(q2)
console.log(res2)
//'aaa'无法转换为数字结果得到的就是NaN
2.parseInt(要准转换的数据)
//返回值为转换好的数据
//parseInt会一位一位的进行转换
var w1 = '100'
var w2 = 'a100' //当第一个就无法转换时就会得到NaN
var w3 = '10.0' //只会检测到小数点的前一位
var res1 = parseInt(w1)
var res2 = parseInt(w2)
var res3 = parseInt(w3)
console.log(res1,res2)
//parseInt当要转换的数据为true或者false时会得到NaN
//而用number转换会得到1和0
3.parseFloat(要转换的数据)
与parseInt的规则一样但可以识别小数点
//就不举例子了=.=(偷懒.jpg)
4.取正负
var s1 = '100'
var res1 = +s1
var res2 = -s1
//取负值时会改变大小 !休想想负负得正
//-(-s1)也只是取负 --s1会变成自减
console.log(res1,res2)
5.非加法的数学运算
var s1 = '100'
var res1 = s1 * 2
var res2 = s1 / 2
var res3 = s1 - 2
//+ 起到连接的作用
var res4 = s1 + 2
console.log(res1,res2,res3,res4)
//将变量换为true或false也可以
转字符串
//将其他数据类型转为字符串类型 任何数据类型都能转换
1.String(你要转换的数据)
//返回值为转换好的数据
var s1 = 100
var s2 = true
var s3
var s4 = null
// var res1 = String(s1)
// var res2 = String(s2)
// var res3 = String(s3)
// var res4 = String(s4)
// console.log(res1,res2,res3,res4)
console.log(String(s1))
console.log(String(s2))
console.log(String(s3))
console.log(String(s4))
2.toString()
你要转换的数据.toString()
//返回值为转换好的数据
//!!!undefined 和 null 不能转换
var s1 = 100
var s2 = true
//var s3
//var s4 = null
console.log(s1.toString())
console.log(s2.toString())
//以下报错
//console.log(s3.toString())
//console.log(s4.toString())
3.利用 + 号
var s1 = 100
//空的 '' 空格会占一位所以不加空格
var res = s1 + ''
console.log(res)
//console.log(s1)
转布尔
1.Boolean(你要转换的数据)
//返回值为转好的数据
在js终只有五个内容转换成false
0
空字符串('')
NaN
undefined
null
其他内容转换完毕都是 true
var s1 = Boolean(0)
var s2 = Boolean('')
var s3 = Boolean(NaN)
var s4 = Boolean(undefined)
var s5 = Boolean(null)
console.log(s1)
console.log(s2)
console.log(s3)
console.log(s4)
console.log(s5)
//下面都是true
//console.log([] == '')
//console.log(Boolean([]))
溜了溜了