1.JavaScript运算符:
算术运算符
运算符也叫做操作符
通过运算符可以对一个或则多个值进行运算,并获取运算结果。
- 加法运算:
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接
何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作
也可以通过"+"完成隐式转换。
同级运算,从左到右
运算结果是250,这里的+是作为加法运算的,
两个字符串相加则进行字符串拼接,拼接结果为nihao,
加法隐式转换,像这种有数字类型和字符串类型相加,它的结果12525125,为什么不是相加而是把它拼接在一起呢?因为25是字符串,125+“25”在这里进行相加它会把125转换成字符串,就是”125”+”25”进行拼接结果为12525,” 12525”是字符串加数字125它会把它转换成字符串,字符串+字符串=拼接,最终结果是12525125。
加法隐式转换 同级运算,从左到右 ,125+152=277,227+“56“=22756,125和152是同级所以可以运算 277转换成字符串+字符串=拼接,
- 减法运算
可以对两个值进行减法运算,并返回运算结果
特别提示:任何值做 - * / 运算时自动转换为Number
可以利用这一特性完成隐式转换
任何值做 - 运算时自动转换为Number 可以利用这一特性完成隐式转换,计算结果100。
- 乘法运算
可以对两个值进行乘法运算,并返回运算结果
任何值做 * 运算时自动转换为Number 可以利用这一特性完成隐式转换,计算结果3125。
/ 除法运算
可以对两个值进行除法运算,并返回运算结果
任何值做 / 运算时自动转换为Number 可以利用这一特性完成隐式转换,计算结果5。
% 取模
取模运算(取余数)
取模比如:12/2=6,算出来等于6,6它没有小数点所以它不能取模,取模它只能取有小数点的比如:12/5=2.4,它有小数点取模就等于2。算出来等于整数的都不能取模。
++ 自增
3自增=4,就是3+1=4。
– 自减
3自减=2,就是3-1=2。
逻辑运算符:
JS中为我们提供了三种逻辑运算符
! 非
- !可以用来对一个值进行非运算
所谓非运算就是对一个布尔值进行取反操作
false变为true ,true变为false
- 如果对一个值(布尔值)进行2次非运算,它的值不改变
- 如果对非布尔值进行运算,则先将它准换为布尔值,再取反操作
利用这一特点,可以将一个值转换为布尔类型:两次非运算
可以用来对一个值进行非运算就是对一个布尔值进行取反操作结果就为这两种 false变为true ,true变为false。
对一个值(布尔值)进行2次非运算,它的值不改变,所以结果还是true,
这个字符串是true所以进行一次非运算的结果为false,两次非运算它的结果是不变的所以还是true,还有两次非运算后它的结果不变但是它不会回到原理这个字符串来。
&& 与
- &&可以对符号两则的值进行与运算并返回结果
运算规则:两个值只要有一个false,则返回false
两个值都是true的情况下,返回true
- JS中的"与",只要第一个为false,则返回false。
两个值只要有一个false,则返回false。
两个值都是true的情况下,返回true。
|| 或
- ||可以对符号两则的值进行或运算并返回结果
运算规则:两个值只要有一个true,则返回true
两个值都是false的情况下,返回false
- JS中的"或",只要第一个为true,则返回true。不会再去检查第二个值
只要有一个为真就全为真,两个值只要有一个为true,则反回true;
两个值都为false,才会返回false,
关系运算符:
> 大于
>= 大于等于
< 小于
<=小于等于
运算的结果为布尔值
相等运算符:
== 表示相等的意思
!= 表示不等的意思
=== 全等(数据类型与值都相等)
!== 不全等
运算的结果为布尔值
条件运算法:
条件运算符也叫做三元运算符
- 语法:条件表达式?语句1:语句2;
- 执行的流程:
条件运算符在执行时,首先对表达式进行求值。
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果*
比较谁跟大,看你用什么来作比较;比如大于等于等。
赋值运算:
= 赋值符
可以将符号右侧的值赋值给左侧的变量
+=
num+=2 =>等价于 num=num+2;
-=
num-=2 =>等价于 num=num-2;
=
num=2 =>等价于 num=num*2;
/=
num/=2 =>等价于 num=num/2;
%=
num%=2 =>等价于 num=num%2;
var ko=20;这个等于代表的是赋值,就是将符号右侧的值赋值给左侧的变量 ,就是赋值后ko代表的是20,就是别人看到ko就知道是20,ko也是变量就相当于我们名称。
运算符优先级:
JS中的优先级就跟我们数学中的优先级一样,
比如在数学中:先乘除 再加减 有括号先算括号里面的
//算术操作符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号
// (+,-,,/,++,–,%) (<,>,,=,<=,>=,!=) (&&,||,!) (=,+=,-=,…)/