重点
- 比特(Bit)
- 值
- 数字
- 算术
- 三个特殊的数字
- 字符串
- 字符串转义
- 字符串 unicode 标准
- 模版字符串
- 运算符
- boolean
- 值的比较
- 逻辑运算
- 条件运算符
- 空值
- 类型转换
- 逻辑运算符的短路
笔记
- 在计算机中任何数据的本质都是
比特(Bit)
,也就是二进制 - 每一个值所代表的是
"一块"
二进制信息 - js 中所表示最大的数值近似 它的近似值为
1.7976931348623157 x 10308
。使用Number.MAX_VALUE
可以拿到具体数值 - js 在四则运算中
*
代表乘法;/
代表除法;+
代表加法;-
代表减法;%
代表取余数操作; - 在其他语义下
+
也可以表示字符串拼接,-
也可以表示一个数的负数 Infinity
代表数值大正无穷大,-Infinity
表示数值的负无穷大,NaN
表示不是一个数字,但NaN
却归属为数字类型- 使用单引号
('')
、双引号("")
、反引号都可以标记他是一个字符串,引号中的内容则是字符串的值 "\"
用来转义特殊含义的字符串,比如字符串中需要出现单引号,可以这样表示: this ' is dog- js中使用
unicode
标准来执行字符串 ? - 反引号通常被称为模版字符串,使用模版字符串可以使用很多字符串操作的技巧
- 运算符可以分为一元运算符、二元运算符、三元运算符
- 布尔值只有两个值,一个代表打开(true),一个代表关闭(false)
- "<", ">"是传统的 "大于"、"小于"的比较符号。使用他们会得到一个布尔值。
- 字符串值的比较是比较
unicode
编码 - 在js中只有一个值不等于它自己,他就是
NaN
- js中的逻辑运算符:与、或、否、三元逻辑运算
&&
运算符表示逻辑与,它是一个二元运算符,只有当给定的值都为true
的时候它才为true
||
运算符表示逻辑或,只要有一个值为true
的时候,结果都为true
!
表示逻辑否,是一个一元运算符。用于给值取反,比如一个true
,用!
逻辑否运算后会得到false
true ? 1: 2
表示三元运算符,?
前面值为条件,如果条件为true
,则使用?
后面的值。如果?
前面的值为false
,则使用:
后面的值null
、undefined
在js中表示缺少有意义的值。他们本身就是值,但是他们本身不代表任何信息。在大部分语义下null
、undefined
所表示的含义是等价的js
在进行值比较或者值运算过程中会将值原本的类型转为其他数据类型。在比较的过程中可以使用===
运算符 或者!==
运算符来确保类型不会转换- 逻辑运算符
&&
和||
的使用技巧有一种是叫做短路计算。如果||
左侧的值会转为true
,那么将永远不会计算||
右侧的值。这种行为称为短路计算。而&&
运算符的左侧的值可以转为true
,那么才会计算&&右侧的值
。如果&&
左侧的值可以转为false
, 那么将永远不会计算右侧值。
总结
- 本章节学习了计算机中的数据是使用
比特
来表示的,也就是二进制数据
- 了解了js中的五种基本数据类型:
数字(Number)
、字符串(String)
、布尔值(Boolean)
、null
、undefined
- js语言的一个特性是在运算过程中会将数据类型做
自动转换
,这可能会带来一种意想不到的结果,也可以借助这种特性做一些其他语言很难做到的逻辑处理 - 在数字的章节中我们了解到数字有最大值的限制,也了解有三个特殊含义的数字,他们分别是正无穷大:
Infinity
, 负无穷大:-Infinity
和用来表示值不是数字:NaN
- 在字符串章节中了解到字符串的定义方式分别有单引号、双引号、反引号,使用 \ 可以做特殊字符串的转义。字符的大小比较是比较
unicode
大小。使用反引号可以做很多简单便捷的字符串操作 - 了解到js值的比较方式,他们分别有: ==、!=、===、!==、<、>、<=、=> 。在进行值的比较过程中如果不同数据类型进行比较会做数据类型的转换,其中 === 和 !== 比较运算并不会做数据类型上的转换。
- js中的运算符有
逻辑与 &&
、逻辑或||
。明白了一元运算、二元运算、三元运算的含义。其中一元表示只对一个值做运算,二元运算表示是两个值之间的计算,三元运算是三个值之间的计算