js运算符

一、算术运算符

+    // 加
-    // 减
*    // 乘
/    // 除
%    //取余

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值