运算符的补充

运算符

	这边的运算符是对上一篇博客的补充,各位大佬可以看完上一篇再来看这篇,毕竟自己写也是会忘记一些东西,不要介意呦。
	这篇博客针对逻辑运算符、赋值运算符、连接运算符、运算符优先级、数值型的补充。

1.逻辑运算符

1.!在单目运算优先级优先,例如:

 	var res1 = !(1 > 2);
 	var res2 = !1>2;
    console.log(res1);
    console.log(res2);

运行结果如下:
在这里插入图片描述
2.非运算与其他不同的类型之间的运算。

	  var res2 = !{}; // false
      console.log(res2);
      var res3 = !""; // true
      console.log(res3);
      var res4 = !"dkdkdk"; // false
      console.log(res4);
      var res5 = !0; // true
      console.log(res5);
      var res6 = !34; // false
      console.log(res6);
      var res7 = !null; //true
      console.log(res7);
      var res8 = !NaN; // true
      console.log(res8);
      var res9 = !undefined; // true
      console.log(res9);

运行结果如下:
在这里插入图片描述
3.&&运算

 	  // 第一个操作数为对象  返回第二个操作数
      var result = {} && "asf";
      console.log(result);     //asf
      /*  
        如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回   
        该对象; 如果第一个操作数结果为false 这返回第一个操作数
        */
      var result2 = "asd" && {};
      console.log(result2);     //{}
      //  第一个与第二个操作数都是对象时 返回 第二个对象
      var result3 = {} && {name:"asd"};
      console.log(result3);   //{name:"asd"}
       // 如果第一个操作数是null或者NaN或者undefined则返回null NaN undefined
      var result4 = null&& 1 < 2;
      console.log(result4);
      var result5 = "ss" && 12 && 1;//第一个操作符"ss"布尔值为true
      console.log(result5);     // 1

运行结果:
在这里插入图片描述
4.||运算

	  /* || 对于不是布尔类型的规则 */
      // 1:如果第一个操作数是对象;返回对象
      var a = {} || true;
      console.log(a);
      var a1 = {} || "sdad";
      console.log(a1);
      // 2:如果第一个操作数是false 返回第二个操作数
      var a2 = 1 > 2 || "asf"; // asf
      console.log(a2);
      // 3:如果两个都是对象返回第一个对象
      var a3 = { name: "dsf" } || {}; // {name:'dsf'}
      console.log(a3);
      // 4:只有两个都是null NaN undefined  返回null NaN undefined 反之 返回其他数据
      var a4 = null || "sd"; // sd
      console.log(a4);
      var a5 = null || null; // null
      console.log(a5);

运行结果如下:
在这里插入图片描述

2.赋值运算符

列举了部分例子,可以自己测试一些其他的例子。

 		var x = 1 ;
        x += 2;// x = x+2
        console.log(x);
        x -=1;  // x= x-1
        console.log(x);
        var a = x+1;// 2+1
        a *= x;// a = a * x = 3*2 
        console.log(a);

运行结果:
在这里插入图片描述

3.连接运算符

      //  +   链接运算符;作用 字符串拼接
      var str = 'asfr';
      var  is = '是';
      var per = 'asdf';
      var res = str + is + per;
      console.log(res);
      var num = 250;
      var res1 = str + num ;
      console.log(res1);

运行结果:
在这里插入图片描述

4.运算符优先级

运算符优先级:
小括号>算术运算符>比较运算符>逻辑运算符>赋值运算符

   1:从左往右计算 () 里面最优先
   2:全体单目 ++ -- !  【单目 只有一个操作数和操作符就可以运算的】
   3:乘法除法取余
   4:加减
   5:移位(<< >>)
   6:关系(< > <= >=)
   7:等于不等于
   8:逻辑运算符&& 优先  || 
   9:赋值
   10 逗号

举出短路的两个例子:

	var res1 = 1>2 && 7+8+9>100 && null;
  	console.log(res1);
  	var res2 = 2>1 || 83>32490+32847 || 0 || 7>8;
  	console.log(res2);

运行结果:
在这里插入图片描述

5.数值型

除加号外 所有的【算数运算符】的表达式;返回结果都是【数值型】

	   console.log(0.1+0.2); // 不等于0.3
       var num = 1 + true;
       console.log(num);
       var num1 = 1-'1';
       console.log(num1);
       var num2 = 1-null;
       console.log(num2);
       var num3 = 1-undefined; // NaN
       console.log(num3);
       var num4 = 1 - ['ffff'];
       console.log(num4);
       var  num5 = 1-'dsg';
       console.log(num5);
       var num6 = 1 -{};
       console.log(num6); 
       var num7 = (0.1 + 0.2)==0.3;
       console.log(num7);//false
	   // 科学计数法
       var a = 12e3; // 12 * 10*10*10 
       console.log(a);

运行结果:
在这里插入图片描述

总结

虽然这次也是补充上一次博客的不足,但是博主并不能将一些例子一一列举出来,所以希望各位大佬可以通过自己的学习和测试,举出一些博主没有列举的例子,这样会更加容易理解,而且还不容易忘。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值