一、运算符介绍
- 操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果比如:typeof就是运算符 - 算术运算符
- " +,-,*,/,%" 对于Number类型的数据运算
- 字符串也可以相加 叫做拼串。+ 一个 "" 即可将其转换为String这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
- "-,*,/"运算时自动转换为Number类型
二、一元运算符
- +正号不会对数字产生影响
- -负号可以对数字进行符号的取反
- 对于非Number类型 会先转换数字类型原理和Number函数一样
三、自增和自减
- 自增
- 通过自增可以使变量在自身的基础加一
- 自增分成两种:后++(a++) 和 前++(++a)无论是a++还是++a,都会立即使原变量的值自增1
- a++的值等于原变量的值(自增前的值
- ++a的值等于新值 (自增后的值)
- 自减
- 通过自减可以使变量在自身的基础上减1
- 自减分成两种:后--(a--) 和 前--(--a)无论是a--还是--a都会立即使原变量的值自减1
- a-- 是变量的原值 (自减前的值)
- --a 是变量的新值 (自减以后的值)
四、逻辑运算符
- 非 !
- !可以对一个布尔值进行非运算
- 也可以使用此方法将非布尔值转换为布尔类型(两次取反保证原值的布尔值不变)
- && 与
- &&可以对两侧的值进行运算并返回结果
- 运算规则
- 两个值只要有一个是false 就返回False
- 如果第一个值为False,不会看第二个
- 如果第一个值为True,第二个值为False 返回第二个值
- 有两个True 才返回False
- || 或
- ||可以对符号两侧的值进行或运算并返回结果
- 运算规则
- 两个值中只要有一个true,就返回true
- 如果第一个值为true,则不会检查第二个值
- 如果第一个值为False 第二个值为True 则返回第二个值
- 如果两个值都为false,才返回false
五、赋值运算符
- =
可以将右侧赋值给左侧 - +=
a += 5 等价于 a = a + 5 - -=
a -= 5 等价于 a = a - 5 - *=
a *= 5 等价于 a = a5 - /=
a /= 5 等价于 a = a / 5 - %=
a %= 5 等价于 a = a % 5
六、关系运算符
通过关系运算符可以比较两个值之间的大小关系,如果关系成立它会返回true,如果关系不成立则返回false
>
判断符号左侧的值是否大于右侧的值果关系成立,返回true,如果关系不成立则返回false>=
判断符号左侧的值是否大于或等于右侧的值<
<=
非数字
对于非数值进行比较时,会将其转换为数字然后再比较 。如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码
七、相等运算符
相等运算符用来比较两个值是否相等,如果相等会返回true,否则返回false
- ==判断 如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型。
- != 判断不相等
- === 全等
- !== 不去全等
八、条件运算符
条件运算符也叫三元运算符
- 语法:
- 条件表达式?语句一;语句二
- 执行流程:
- 首先对条件表达式求值 如果为True 就执行语句一 如果为 False 就执行语句二
- 如果条件表达式非布尔 就先转换为布尔在运算
var a = 300;
var b = 143;
a > b ? alert("a大"):alert("b大");
九、运算符优先级和代码块
可以使用,(英文逗号)一起声明多个变量
如果需要先运算 加上()就OK
语句是按照自上向下的顺序一条一条执行的在JS中可以使用{}来为语句进行分组,同一个{}中的语句我们称为是一组语句,它们要么都执行,要么都不执行,一个{}中的语句我们也称为叫一个代码块在代码块的后边就不用再编写;了
{
var a = 10;
alert("hello");
console.log("你好");
document.write("语句");
}