一、JS的数据类型转换
1.转换为字符串数据类型
1. 变量.toString() 方法 注意: S 是大写的
注意: undefined 类型 和 null 不能使用 toString 方法
(因为 JS 没有给我们提供, 或者说 JS 不允许)
2. String(变量) 注意 S 也是大写
什么类型都可以转换为字符串类型的, 包括undefined 和 null 类型
3. 扩展: 开发时常用的一个方法!
变量 + ''
转换结果于 String 类似, 写法上更简单一些, 所以推荐使用
2.转换为布尔类型
Boolean(变量) 将其他数据类型, 转换为 布尔值(也就是转换为 true 或者 false)
1. 数字转换布尔值, 只有0会转换为 false 其他的数字都会转换为 true, (非0即为真)
2. 字符串转换布尔值, 只有 空字符串 会转换为 false 其他的字符串都会转换为 true
** 3. undefined 和 null 转换为 布尔值的时候 就是 false (重点)**
二、JS的运算符
1.算数运算符
加减乘除 取余(求余数)
+ - * / %
注意: + 运算符, 相加时如果两边都是数字, 那么会运算数字的相加操作
相加时如果两边有一个不是数字的, 比如出现一个字符串, 那么运行的不是在相加, 而是拼接操作
拼接操作只有 + 运算时会出现, 其他符号不出现
其他运算符在遇到两边有非数字类型时, 会将其转换为 数字(这一步就叫做隐式转换), 然后再运算
2.赋值运算符
=
+= 相当于是 "我自身" 加上一个新值, 就可以用这个 += 来优化, 例子: a = a + 10 优化后: a += 10
-= *= /= %= 运算逻辑与 += 是完全相同的
3.比较运算符
比较运算符两边的值之后, 返回一个 布尔值, 也就是返回一个true或者false
判断 大于 小于 大于等于 小于等于
> < >= <=
判断相等
注意: = 赋值号
== === 在JS中 等号出现两次或者三次时代表 等于的意思
两个等号与 三个等号的区别
== 在JS中判断时会做隐式转换, 也就是说 只会对比值是否相等, 不会对比数据类型
=== 在 JS 中也叫做全等, 在判断的时候不会做隐式转换, 也就是说, 在对比时除了会对比值是否相等, 还会判断数据类型
判断不相等
!= !==
共同点: 判断符号两边的值是否不相等, 不相等时返回 true 相等时返回 false
不同点
!= 不会对比数据类型
!== 会对比数据类型
4.逻辑运算符
&& 逻辑与(相当于并且的意思)
|| 逻辑或(相当于或者的意思)
! 逻辑非(取反, 反义词)
逻辑与运算符的特性!!!
符号左边的值 如果为真(也就是转为布尔值后为true), 那么会返回 符号右边的值
如果为 假(也就是转为布尔值后为 false), 那么会将自身返回出去
逻辑或运算符的特性!!!
符号左边的值 如果为真, 那么会将自身返回出去
如果为假, 那么会将符号右侧的值返回出去
逻辑非运算符的特性!!!
语法: !值
返回值: 将值转换为布尔值之后, 做一个取反的操作, 也就是 true 改变false, false改变为 true
5.自增自减运算符
++
语法:(自增自减都是相同的语法, 这里就拿 自增为例)
1. ++值
2. 值++
自增运算符的能力就是将自身的值 +1
自减运算符的能力就是将自身的值 -1
自增自减运算符 写法不同, 运行结果也不同
1. ++值(++在前)
如果 ++ 在前, 那么会先将自身的值 +1 然后参与其他的
2. 值++(++在后)
如果 ++ 在后, 那么会先参与周围的运算, 然后将自身的值 +1
自减运算符在前与在后的作用与 自增运算符完全相同, 只不过是 -1
三、分支语句
想法: 打开页面是, 1 和 2 只会执行其中某一个, 但是我要求这两行代码都要写
如果想完成这个需求, 依靠我们目前的技能, 是无法完成的
只能依靠现在要学习的 分支语句来帮助我们完成
分支语句: 根据我们设置好的条件!!! 然后来决定执行那些代码
1.if分支语句
语法: if (条件) {满足条件的时候执行的代码, 如果不满足, 这里边的代码永远不执行}
条件最终会返回一个布尔值, 如果为真, 那么会执行对应的代码
如果为假, 那么不会执行
例: `var a = 2
if (a === 1) {
console.log(1)
} else if (a === 2) {
console.log(2)
} else {
console.log('a 不等于 1或者2')
}`