4-9 JS数据类型(number、string、bool、symbol、null、undefined)

JS中的数据类型

01 共7种类型(大小写无所谓)

  • 数字 number
  • 字符串 string
  • 布尔 bool
    真或假,只有两个值
    true和false,注意大小写
  • 符号 symbol(用得少)
  • 空 undefined
  • 空 null
  • 对象 object(另讲)
  • 总结:四基两空一对象

02.以下不是数据类型

  • 数组、函数、日期(都是特殊的对象)
  • 以上都属于object

1.数字 number
64位浮点数

1.1 写法
一般前三个用的较多
在这里插入图片描述
1.2 特殊值

  • 正0 和 负0
    都等于0 ,要严谨
    区别点:1/0=正无穷,1/+0=正无穷,1/-0=负无穷
    在这里插入图片描述
  • 无穷大
    Infinity、+Infinitely、-Infinitely
  • 无法表示的数字
    NN(Not a Number):不能表示的数字
    NAN不等于
    但它是一个数字,因为之所以写成NAN是因为知识受限,还有很多没有认知,而不是不存在
    在这里插入图片描述

1.3 64位浮点数

  • JS数字的存储形式
    浮点数就是浮动的点,意思是小数点会乱动
    如:123.456可以表示为1.23456e10^2或者12345.6e10^2
  • 浮点数在内存中的存储方式
    在这里插入图片描述
    例如:浮点数5.2的存储方法
    1.转换为二进制(小数点前后都转): 5. = 101. 0.2 = .00110011001100110011(小数则是 2^-n)
    2.用科学计数法表示,保证小数点前只有一个bit(1)
    1.0100110011001100110011 * 2^2
    3.则存储方式为:
    符号:0
    指数:2
    基数: 0100110011001100110011 (省掉前面的1)
  • 64位存储一个number
    符号占1位
    指数占11位(-1024~1024)
    有效数字占52位(开头省略1)

1.4范围和精度

  • 将指数、有效数字的正向和负向拉满得到最大最小值
  • 最多只能到52+1个二进制位表示有效数字

2.字符串string
每个字符两个字节(阉割版UTF8)
定长的只用两个字节,超过了就不能表示

2.1 写法

  • 单引号:'你好'
  • 双引号:"你好"
  • 反引号: ` (ESC下面的键)
  • 注意
    1.引号不属于字符串的一部分,就像书名号不属于书名的一部分一样
    2.如果单引号里面包含单引号怎么办?——转义

2.2 转义
用另一种写法表示你想要的东西

2.2.1 单引号里面包含单引号:

  • 错误写法:'it's ok' JS会认为在'it'就结束了
  • 正确写法
    1.'it\'s ok' 这就是转义,在符号前加
    2.交替使用: "it's ok"(反引号同理)

2.2.2 常见转义

  • \' 表示 `’

  • \" 表示 "

  • \n 表示 换行

  • \r 表示 回车

  • \t 表示 tab制表符

  • \\ 表示 \
    因为一个\后面会接东西,所以要两个
    在这里插入图片描述

  • \uFFFF 表示对应的Unicode字符

  • \xFF 表示前256个Unicode字符
    在这里插入图片描述
    2.3 多行字符串
    想在字符串里回车,用反引号扩起来

let s = `这样是
可以的
反引号很容易做到`

在这里插入图片描述
2.4 字符串的属性
只有对象才有属性,字符串按道理是没有属性的,这里等对象讲解完可以解释

2.4.1 字符串的长度

  • string.length
    在这里插入图片描述

2.4.2 通过下标读字符

  • string[index]
    如: let s = 'hello'中,s[0]表示h
  • 注意 index 从 0 开始,最大值为长度减 1
    在这里插入图片描述
    2.5 base64转码
  • window.btoa('字符串')
    正常字符串转为base64编码字符串
  • window.atob('字符串')
    Base64编码的字符串转为原来的字符串
  • 一般用来隐藏招聘启事里的简历
    在这里插入图片描述

3.布尔 boolean
真或假
只有两个值:true和false(注意大小写)

3.1 下列运算会得到bool值

  • 否定运算
    !value取这个值的反
  • 相等运算
    1==2、1!=2、3===4、3!==4,分别得到:false、true、false、true(两个和三个等好都可以)
  • 比较运算
    1>2、1>=2、3<4、3<=4,分别得到:false、false、true、true
    在这里插入图片描述

3.2 if 配 bool

  • if语句常常需要判断真假
    if(value){...}else{...},括号中间需要判断真假
  • 当value是bool还好,当value不是bool怎么办?
    如: 1是真还是假,0是真还是假?

3.2.1 五个 falsy 值
falsy就是相当于 false 但又不是false 的值
分别是:undefinednull0NaN'' 空字符串(两个空两个数字一个字符串)
注意:区分 空字符串空格字符串

4 .undefinednull两种空类型
空空如也,只有JS有两个空

4.1 区别

  • 没有什么本质的区别,undefined 多是一个默认的空,null是一个主动的空
  • 如:一个变量声明了但没有赋值,那么默认值为 undefined
  • 如:一个函数没有写return,那么默认 return undefined
  • 习惯上: 把非对象(数字或布尔等)的空值写为undefined,把对象(person)的空值写为null
  • 仅仅是个习惯

5.symbol 符号
不常用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值