javascript数据类型

发布时间 2023-09-22 10:39:50作者: 卡吧不死机

原视频: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("未成年")