04-js运算符

1.运算符

运算符==》底层cup会去计算 会执行操作, 得到一个结果

1.1一元运算符

  • 算数运算符

1)浮点数直接运算有精度问题,所以比较判断要注意

2)算数运算符有优先级

3)表达式和返回值:由数字、运算符、变量组成的式子

4) 取余数的特别点:a%b= 永远不会超过a的大小

  • 递增递减运算符

1)前置,先自己自加减,先把变量修改了存值、再取值;后置,运算之后在自加减,先取变量的值运算完后再修改值 后存值

2)开发中,一般c++;这种独占一行后置

例子1:

打印:

10(先取值,此时c在内存中的值为10),11(c运算后+1,存进内存11),12(先+1存值,再取值),12(此时内存中的值为12)

例子2:

例子3:

1.2比较运算符

注意:

a < b < c;类型的判断:

先判断 a < b 是true 还是 false ,如果是true 为1、false 为0;

再用 1 或者 0 与 c比较 ,得出结果

1.2.1相等运算符:

1) == 比较运算符 :

  • 基本数据与基本数据比较 看 是否相等(变量.valueof()方法);
  • 基本数据类型和引用数据比较(面试),引用数据类型转为字符串比较(变量.toString()方法);
  • 引用数据与引用数据比较 ,看空间位置是否一样(引用数据的地址一般都不一样)

 

2)=== 三等号 比较的是: 值和类型是否全部相等

1.2.2  in运算符:检查右侧对象里面是否拥有左侧属性名,如果有返回true;反之,返回false。

1.2.3instanceof运算符:检查左侧的对象是否是右侧类的实例,如果是返回true;

1.3逻辑运算符

  • 逻辑非(!)  这个操作符都会返回一个布尔值

步骤:var a =!值 :第一步判断值的布尔值 第二步取反 第三步赋值

规则:

        false:空字符串,0,null,NaN,undefined

        true:非空字符串,,非空对象,非0数字

  • 逻辑与(&&)和 逻辑或(||)

        &&:都为真才为真

        ||:多为假才为假

1)用布尔值参与的逻辑运算

        var result = true && false;

        var result = true || false;

2)用123&&456;表达式参与逻辑运算

即短路运算(逻辑中断):当有多个表达式(值),左边的运算结果确定时;就不再运算后面的式子

  • &&:

        var re=A&&B;

        A是一个表达式B也是一个表达式re等于A表达式或者B表达式

        //(如果A表达式判定为布尔表达式的值的false)re就是A否则反之B表达式

        //如果re为A表达式那么B表达式不运行

 

  • ||:

        var re=A||B;

        A是一个表达式B也是一个表达式re等于A表达式或者B表达式

        //(如果A表达式判定为布尔表达式的值的true,re就是A否则反之B表达式

        //如果re为A表达式那么B表达式不运行

补充:

||符号在开发中 往往是优化的代码最常用的js符号

1.4赋值运算符

赋值运算符   obj.age+1=20(错误写法,赋值运算符是将等号左边的结果返回给右边的标识符) 

1.5三元运算符

语法:条件表达式 ? 表达式1:表达式2

真返回表达式1的值;假返回表达式2的值

1.6逗号运算符

逗号操作符可以在一条语句中执行多个操作

var re = (A,B,C,D,E,F); 

var a = (20,c = 50,40)//会把逗号隔开的表达式全部执行(c=50执行了) ,最后一个表达式为结果即re=F;

2.运算符优先级 //遇到运算符就有优先级。

运算符==》底层cup会去计算 会执行操作 得到一个结果

3.表达式

表达式是最简单的语句 

表达式与表达式的组合,就是语句 ;语句和语句的配合就变成了程序   

  • 原始表达式

  •  数组初始化表达式:初始化的结果是创建一个新的数组;

补充:JS引擎会认为数组最后一个逗号是结尾的逗号

  [,,1]; //长度为3,值分别为:undefined,undefined,1

  [,,1,];   //长度为3

  [1,,];     //长度为2,值分别为:1,undefined

  • 对象初始化表达式:初始化的结果是创建一个新的对象;

  • 属性访问表达式

  • 调用表达式

  •  算术表达式:加减乘除取余,+-*/%;

        加法操作的行为表现:

        1.如果其中一个操作数是引用类型,优先调用valueOf求值后可以进行加法运算,则加起来;不行再调用toString,再进行字符串拼接。

        

        

        2.如果其中一个操作数是字符串的话,则另一个也会转成字符串

        3.如果两个操作数都是数字,则进行加法运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值