JS 变量
JS 声明变量
- 使用 var 关键字来声明变量
- 一个 var 可同时声明多个变量,变量之间用逗号隔开
- 多个变量可跨行声明,多行之间用逗号分隔
- 使用赋值符号 = 给声明的变量赋值
- 未赋值的变量为 undefined
- 重复声明某个 JS 变量,将不会丢失它的值
JS 运算符
JS 算术运算符
运算符 |
描述 |
+ |
加法 |
- |
减法 |
* |
乘法 |
** |
幂(ES2016) |
/ |
除法 |
++ |
递加 |
-- |
递减 |
% |
取余 |
JS 赋值运算符
运算符 |
例子 |
等同于 |
= |
x = y |
x = y |
+= |
x += y |
x = x + y |
-= |
x -= y |
x = x - y |
*= |
x *= y |
x = x * y |
/= |
x /= y |
x = x / y |
%= |
x %= y |
x = x % y |
<<= |
x <<= y |
x = x << y |
>>= |
x >>= y |
x = x >> y |
>>>= |
x >>>= y |
x = x >>> y |
&= |
x &= y |
x = x & y |
^= |
x ^= y |
x = x ^= y |
|= |
x |= y |
x = x | y |
**= |
x **= y |
x = x ** y |
JS 比较运算符
运算符 |
描述 |
== |
等于 |
=== |
等值类型 |
!= |
不等于 |
!== |
不等值或不等型 |
> |
大于 |
< |
小于 |
>= |
大于或等于 |
<= |
小于或等于 |
? |
三元运算符 |
JS 逻辑运算符
运算符 |
描述 |
&& |
逻辑与 |
|| |
逻辑或 |
! |
逻辑非 |
JS 类型运算符
运算符 |
描述 |
typeof |
返回变量的类型 |
instanceof |
如果对象是对象类型的实例,返回true |
JS 位运算符
运算符 |
描述 |
例子 |
等同于 |
结果 |
& |
按位与 |
5&1 |
0101&0001 |
0001 |
| |
按位或 |
5|1 |
0101|0001 |
0101 |
~ |
非 |
~5 |
~0101 |
1010 |
^ |
按位异或 |
5^1 |
0101^0001 |
0100 |
<< |
零填充左位移 |
5<<1 |
0101<<1 |
1010 |
>> |
有符号右位移 |
5>>1 |
0101>>1 |
0010 |
>>> |
零填充右位移 |
5>>>1 |
0101>>>1 |
0010 |
JS 数据类型
JS 原始数据类型
- 原始数据值是一种没有额外属性和方法的单一简单数据值
- typeof 运算符返回以下原始类型之一:undefined、boolean、number、string
数据类型 |
描述 |
Undefined |
未定义的 |
Null |
对空类型( typeof 返回的类型是Object对象,是 JS 的一个 bug) |
Boolean |
布尔类型 |
Number |
数值类型 |
String |
字符串类型 |
Symbol |
独一无二的值(ES6引入) |
JS 引用数据类型
数据类型 |
描述 |
Object |
对象 |
Array |
数组 |
Function |
函数 |
JS 复杂数据类型
- typeof 运算符返回以下两种类型之一:function、object
- typeof 运算符把对象、数组或null返回 object
- typeof 运算符不会把函数返回 object
JS 拥有动态数据类型
var x; //现在 x 为 undefined
var x = 5; //现在 x 为数字
var x = "Jasner"; //现在 x 为字符串