JS-5:JS数据类型和运算符

138 阅读2分钟

1 数字和字符串

  • 字符串能表示电话号码,数字不行; image.png

1.1 如何存储数字:

  • 十进制转二进制即可; image.png

  • 十六进制表示二进制

image.png

1.2 如何存储字符

  • 将字符转成数字就行,字符先编码,再将编码转化为二进制存起来,但是,'1'不能用1来表示;

  • 所有编码规则,前面128个都是相同的

48表示数字0,65表示A,97表示a image.png

标题
标题
标题
  • Unicode 万国码

image.png

  • UTF-8 UTF-8是Unicode的一种存储规则,也叫字符编码规则;

image.png

image.png

2 JS中的数据类型

  • 2020年6月新增了一种类型:bigint(BigInt-MDN) image.png

2.1 数字number

  • 64位浮点数

image.png

  • 特殊值

image.png

image.png

image.png

  • JS数字的存储形式

image.png

  • JS数字的范围和精度

image.png

  • 超出精度后,会不准确 image.png

2.2 字符串string

  • JS用的是阉割版UTF8,每个字符两个字节;

  • 写法 image.png

  • 转义

image.png

  • 两个\\表示一个
    image.png

image.png

  • 多行字符串 用反引号即可在字符串里回车
let s = `我想
这丫
休息休息`
  • 字符串长度 image.png

空字符串和空格字符串是不同的

image.png

  • 通过下标读取字符 index = length - 1 image.png

  • base64转码 image.png

2.3 布尔boolean

image.png

  • 如何取得布尔值

image.png

  • 5个falsy值 JS中,只有5个falsy值和false表示假,其余都为真

image.png

2.4 空类型 undefined 和 null

  • 区别

image.png

2.5 symbol 符号

不常用;

JS 中的 Symbol 是什么?

3 变量声明

3.1 三种声明方式

image.png

3.2 let声明

  • 规则 let声明的变量,在同一作用域内,不能重复声明 image.png

3.3 const声明

const和for循环配合没有用 image.png

3.4 变量声明指定值和类型

image.png

  • name 和 'name' 的区别 image.png

4 类型转换

image.png

  • 数字转字符串

image.png

  • 之前JS会把0开头的数字默认为8进制,所以用parseInt将字符串转换为数字时,需要在括号中写明是转换为10进制还是8进制,现在不需要写,默认为10进制;

  • JS的BUG 数字过长时,不能转换成字符串后; image.png

  • 字符串转数字 image.png

  • 转布尔

    • !!表示取反再取反,即取原始的布尔值;
    • 1.0会默认为数字,后面接t,JS默认为错的,加()把1和.隔开,就能转变为字符串 image.png

5 JS的一些奇葩bug

JavaScript 秘密花园