javascript数据类型
原视频:https://www.bilibili.com/video/BV15T411j7pJ?p=9&vd_source=9752cdd43d8570cd76479220c765bc34
一、数据类型分类
number:数字类型,整型,浮点型,二进制,十六进制(如0x99=十进制的9*16+9=153),八进制,NaN
string:字符串
boolean:布尔型true false
undefined:未定义类型
null:空对象
undefined和null的区别:https://www.cnblogs.com/tangwei-fuzhou/p/16705582.html
二、检测数据类型
var a = 111
console.log(typeof a)
输出:number
---------------
var a = "111"
console.log(typeof a)
输出:string
---------------
var a = undefined
console.log(typeof a)
输出:undefined
---------------注意,NULL是空对象类型
var a = null
console.log(typeof a)
输出:object
三、数据类型转化
1、数字类型转化
var a ="111"
console.log(Number(a)) //控制台输入蓝色的数字,字符串是红色的
var a ="abc"
console.log(Number(a)) //输出NaN,不是一个数字所以无法转化,但是NaN本身是属于数值类型
var a = true
console.log(Number(a)) //输出1,false是0
var a = null
console.log(Number(a)) //输出0
var a = undefined
console.log(Number(a)) //输出NaN,这里就是区别于null的输出结果了
var a = "123abc"
console.log(parseInt(a)) //输出123,抛弃掉abc
var a = "123.45abc"
console.log(parseFloat(a)) //输出123.45,抛弃掉abc
2、字符串类型转化
var a =100
console.log(String(a)) //输出红色‘100’,String()可以将所有类型转字符串
var a =100
console.log(a.toString()) //普通数字类型使用toString与原型概念相关,但是null和undefined这样调用就会报错了,所以要先判断下是否是null和undefined
var a = 111
console.log(a+"") //加空字符串变成字符串类型
3、布尔类型转化
只有:"",0,null,undefined,NaN,这些是转化成false,其他都是true
var a = 100
console.log(Boolean(a)) //输出true
四、运算符(+、-、*、/、%)
+:两边都要是数字,才是数学运算,如果有一边是字符串,那么就变成拼接字符串了
五、赋值运算符(=、+=、-=、*= )
六、比较运算符(>=、<=、>、< 、==、===、!=、!==)
1、==、===的区别:==只比较值,===比较值和数据类型
"1" == 1 得到true
"1" === 1 得到false
七、逻辑运算符(&&、||、!)
八、自增自减运算符(前置++,后置++,前置--,后置--)
前置++:先返回值再加1
后置++:先加1再返回值
var n = 10
var res = ++n + n++ + ++n //(执行过程:11+11+13)
console.log(n,res) //输出10,35
前置--,后置-- 也是同理
九、三元运算符
age >= 18 ? alert(“已经成年”):alert("未成年")