## 运算符
1. 算术运算符:`+`,`-`,`*`,`/`,`%`,`++`,`--`,(累计计算),`**`(幂)
* `i++`和`++i`的区别?
* `++`是运算符,如果`++`在变量的前面则先先计算然后在赋值,则值是计算后的值
* 如果`++`在变量的后面,先把变量的旧值拿出来使用,最后在计算出新值再赋值。
* 总结:`i++` 先赋值后计算,`++i`是先计算后赋值。
2. 逻辑运算符: `==`, `===`,`!`,`||`,`&&`
* `!`求反 ,`!true` => `false`
* `||`或,左边如果为`true`则使用左边的值,否则使用右边的值
* `&&` 与,如果左边的值是假的,就终止执行了,必须左边的和右边的值都为`true`条件才成立
* `==` 等于,只判断值,不判断类型【他偷偷做了隐士的转换】
* `=== `全等,不光判断值,还判断数据类型【推荐在程序中使用它做判断】
## 条件语句
* `if`
* `switch`
* 三目运算符/三元表达式/三元运算符
## 三者的区别
* `if`和`switch` 没有返回值,三目运算符有返回值
* 语法不一样
* 三目运算符虽然有返回值可以有更多的使用长场景,但缺点是阅读不方便
## 位运算符
1. `>>按位右移`
2. `<<`按位左移
3. `~`按位非
4. `&` 按位与
5. `|`按位或
6. `>>>`按位右移零
7. `^`按位异或
# 函数自有属性
* arguments 不定参数-伪数组
* name 获取函数的名字