1.JavaScript运算符:
①算数运算符:
-
加
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接
任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作
也可以通过"+"完成隐式转换。
代码:var num=12+46;//加法运算
console.log(num);//58var str=“hello” +“boy”;//字符串拼接
console.log(str);//helloboy
var = num=12+“2”+4;
console.log(num);//1224
console.log(typeof num);//string
注意:和字符串做加法运算先转为字符串再和字符串做拼接操作
小结:同级运算,从左到右
- 减
可以对两个值进行减法运算,并返回运算结果
代码:num=100-“1”;
console.log(num);//99
console.log(typeof num);//number
小结:任何值做 -(减) *(乘) / (除)运算时自动转换为Number(隐式转换)
- 乘
可以对两个值进行乘法运算,并返回运算结果
/ 除
可以对两个值进行除法运算,并返回运算结果
% 取模
取模运算(取余数)
++ 自增
– – 自减
②关系运算符:大于
= 大于等于
< 小于
<=小于等于
!= 表示不等的意思
!== 不全等
== 表示相等的意思
=== 全等(数据类型与值都相等)
运算的结果为布尔值
代码:console.log(10==’10’);//true
console.log(10===’10’);//false
注意:==相等 js内部会先进行数据类型的转换,把比较的两个数据转到相同的类型
③逻辑运算符
JS中为我们提供了三种逻辑运算符
! 非
- !可以用来对一个值进行非运算
所谓非运算就是对一个布尔值进行取反操作
false变为true ,true变为false
- 如果对一个值(布尔值)进行2次非运算,它的值不改变
- 如果对非布尔值进行运算,则先将它转换为布尔值,再取反操作
利用这一特点,可以将一个值转换为布尔类型:两次非运算
代码:对非布尔值进行运算
var str=“sdf”;
str=!str;//首先字符串转换布尔值为true 再进行取反 !true
str=!!str;// 第一次非运算的结果为false !!str为true
console.log(“str=”+str);
小结:字符串–>布尔 除了空串是false,其余的全部都是true
(注意: 1次非运算 !str为false 2次非运算 !!str为true
&& 与
- &&可以对符号两则的值进行与运算并返回结果
运算规则:两个值只要有一个false,则返回false
两个值都是true的情况下,返回true
JS中的"与",只要第一个为false,则返回false。
代码:var bl=true&&false;
onsole.log(“bl=”+bl);//bl=false
小结:同真为真,有假则假
|| 或
- ||可以对符号两则的值进行或运算并返回结果
运算规则:两个值只要有一个true,则返回true
两个值都是false的情况下,返回false
- JS中的"或",只要第一个为true,则返回true。不会再去检查第二个值
代码: var bl=true||false;
console.log(“bl=”+bl);//true
小结:同假为假,有真则真
④赋值运算符
JavaScript赋值运算
= 赋值符
可以将符号右侧的值赋值给左侧的变量
+=
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;
⑤条件运算符
条件运算符也叫做三元运算符- 语法:条件表达式?语句1:语句2;
- 执行的流程:
条件运算符在执行时,首先对表达式进行求值。
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
2.JavaScript运算符的优先级
JS中的优先级就跟我们数学中的优先级一样,
比如在数学中:先乘除 再加减 有括号先算括号里面的
算术操作符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号
(+,-,*,/,++,- -,%) (<,>,== ===,<=,>=,!=) (&&,||,!) (=,+=,-=,…)
(注意):在运算时首先弄要清楚它们之间的优先级