概述
一、算术运算符
+
// 加
-
// 减
*
// 乘
/
// 除
%
//取余
var x = 5, y =10;
console.log(x+y);
//
x + y
15
console.log(x-y);
//
x - y
-5
console.log(x*y);
//
x * y
50
console.log(x/y);
//
x / y
0.5
console.log(x%y);
//
x % y
5
console.log(x/0);
// Infinity(无穷大)
console.log(x%0);
//
NaN
二、一元运算符
一元运算符:只有一个操作数的运算符。
5 + 6 两个操作数的运算符 二元运算符
++
// 自身加一
var num = 5;
// 前置++
// ++num
先让num自身+1,然后在返回表达式的计算结果
console.log(++num);
// 6
var num1 = 7;
console.log(num+ ++num1);
// 6 + 8 = 14
// 后置++
var num2 = 5
// num++ 先返回表达式的结果num,然后在对自身进行加1
console.log(num2++);
// 5
console.log(num2);
// 6
var num5 = 7;
// num的值由++num后变为了6
console.log(num + num5++);
// 6 +7 = 13
console.log(num5)
// 8
--
// 自身减一
// 前置--
var num3 = 8
console.log(--num3);
// 7
console.log(num3); // 7
// 后置--
var num4 = 8
console.log(num4--);
// 8
console.log(num4);
// 7
猜猜看
// ++a 先执行自身+1,然后再返回表达式结果
// a++ 先返回a,在执行自身+1
var a = 1; var b = ++a + ++a; console.log(b);
// 2 + 3 = 5
var a = 1; var b = a++ + ++a; console.log(b);
// 1 + 3 = 4
var a = 1; var b = a++ + a++; console.log(b);
// 1 + 2 = 3
var a = 1; var b = ++a + a++; console.log(b);
// 2 + 2 = 4
三、逻辑运算符
1、&& 与 两个操作数同时为true,结果为true,否则都是false。
2、|| 或 两个操作数有一个为true,结果为true,否则为false。
3、!非 取反。
var a =true;
var b=false;
// 与
console.log(a && b)
// false
// 总结:只有两个操作数同时为true,结果才为true。
// 或
console.log(a || b)
// true
// 总结:只有两个操作数同时为false,结果才为false。
// 非
console.log(!a)
// false
四、关系运算符(比较运算符)
1、比较大小 > < >= <=
var a = 10;
var b = 5;
console.log(a>b);
// true
console.log(a<b);
// false
console.log(a>=b);
// true
console.log(a<=b);
// false
2、比较值== !=
var a = 10;
var b = 5;
console.log(a==b);
// false
console.log(a != b);
// true
3、比较值和类型
// 比较值和类型
=== 和 !==
var a = 10;
// 数值型
var b = '10';
//字符串
console.log(a==b);
//
true,判断的是变量的值是否相等
console.log(a===b);
// false
判断的是值和类型都一致才返回true。
console.log(a !== b);
// true
判断的是值和类型都不一致才返回true。
五、赋值运算符
var num = 5;
var num1 = num * 5;
// num1值为25
num1 = num1 + 5;
//num1值为30
// 简化上述运算
num1 += 5;
// num1值为35
// 加
num1 -= 5;
// num1值为30
// *=
乘
num1 *= 2; // num1值为60
// /=
除
num1 /= 10
// num1值为6
// %=
取余
num1 %= 3
// num1值为0
六、运算符优先级
优先级从高到低
1. ()优先级最高
2. 一元运算符
++
--
!
3. 算术运算符
先 * / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !===
6. 逻辑运算符 先&& 后 ||
7. 赋值运算符
练习
4 >=6 || '人' != '阿凡达' && !(12 * 2 == 144)
&& true
// 由于没有赋值运算符,逻辑运算符优先级最低,所以可以简化
(4 >= 6) || ('人' != '阿凡达') && ( !(12 * 2 == 144)) && true
// ()优先级最高,先执行小括号里的,由于没有一元运算符,算术运算符优先级高于关系运算符和相等运算符,所以先执行(12 * 2 == 144)
(4 >= 6) || ('人' != '阿凡达') && ( !(false)) && true
// 关系运算符优先级高于相等运算符,所以先执行前面的
(4 >= 6) || ('人' != '阿凡达') && true && true
false || true && true && true
结果为true
var num = 10;
5 == num / 2 && (2 + 2 * num).toString()
=== '22'
// 没有赋值运算符,逻辑运算符优先级最低,可以简化为
(5 == num / 2) && ((2 + 2 * num).toString()
=== '22' )
// ()优先级最高,先执行小括号里的
(5 == num / 2) && (22.toString()
=== '22' )
(5 == num / 2) && true
结果为true
最后
以上就是儒雅胡萝卜为你收集整理的js运算符的全部内容,希望文章能够帮你解决js运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复