JavaScript运算符

1.算术运算符

运算符 描述 实例
+ 10+20=30
- 10-20=-10
* 10*20=200
/ 10/20=0.5
% 取模(取余数) 9%2=1

浮点数 在算数运算中有问题

例:

 console.log(0.1 + 0.2); // 0.30000000000000004
 console.log(0.07 * 100); // 7.000000000000001

浮点数的高精度值 = 17 位,不能直接进行比较(不能直接判断两个浮点数是否相等)

例:

var num = 0.1 + 0.2;
console.log(num == 0.3); // false

 

表达式和返回值

表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合

返回值:表达式返回的结果

 

2.递增和递减运算符

后置自增:

num++:先返回值 后加1 先表达式返回原值 后变量再自加1

前置自增:

++num:先自加1 后返回值

 

3.比较运算符

> < >= <= == != === !===

"=":赋值

"==":判断 默认转换数据类型 18==’18‘ 字符型转换成数字型 只要求值等

"===":全等 一模一样 数值和数据类型

 

4.逻辑运算符(JS API常用)

&& || !

短路运算(面试)逻辑中断

逻辑与&&短路运算:

如果表达式1为真,则返回表达式2

console.log( 123 && 456 );        // 456

如果表达式1为假,则返回表达式1

console.log( 0 && 456 );          // 0

多个与运算:

console.log( 123 && 456 && 789 );  // 789
为什么返回789?
因为逻辑没有被中断 表达式1为真,返回表达式2 表达式2也为真,返回表达式3(若表达式2为假,则返回表达式2)

 

逻辑或||短路运算:

如果表达式1为真,则返回表达式1

console.log( 123 || 456 );         //  123

如果表达式1为假,则返回表达式2

console.log( 0 ||  456 );          //  456

多个或运算:

console.log( 123 || 456 || 789 );  //  123  直接短路输出 第二个‘||’没有进行运算

 

5.赋值运算符

= += -= *= /= %=

运算符优先级

优先级 运算符 顺序
1 小括号 ()
2 一元运算符 ++ -- !
3 算数运算符 先 * / % 后 + -
4 关系运算符 > >= < <=
5 相等运算符 == != === !===
6 逻辑运算符 先 && 后 ||
7 赋值运算符 =
8 逗号运算符

一元运算符里面的逻辑非!优先级很高

逻辑与&&逻辑或||优先级高

posted @ 2021-11-29 12:56  东八区  阅读(23)  评论(0)    收藏  举报