JavaScript③运算符

栏目: JavaScript · 发布时间: 7年前

内容简介:JavaScript③运算符

逻辑非!

逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再 对其求反。也就是说,逻辑非操作符遵循下列规则:

  • 操作数是对象,返回false
  • 空字符串,返回true
  • 非空字符串,返回false
  • 0,返回true
  • NaN,返回true
  • Undefined,返回true
  • 非0数值(Infinity),返回false
  • null 返回true

逻辑与&&

  • 只有第一个值是true的时候,才会返回第二个值;第一个值为false,则返回第一个值;意是根据原理来返回的;&&是必须两个都为true才为true的;看取决于哪个值的
  • 第一个操作数的对象,返回第二个操作数(第一个为true了,关键取决于第二个值,所以返回第二个)
  • 第二个操作数是对象,如果想返回第二个对象,第一个必须为true;
  • 如果两个操作数都是对象,第一个是true,则返回第二个操作数;
  • 第一个操作数是null,返回null(第一个null已经是false了,后面第二个值无论是true-还是false已经不重要了,所以返回的是第一个值)
  • 第一个操作数是NaN,返回NaN(原理同上)
  • 第一个操作数是undefined,返回undefined(原理同上)

逻辑或 ||

  • 两个操作数都是false的时候才为false;第一个操作数是true,则返回第一个数;无需对第二个值判断了,已经可以确定为true;如果第一个值为false的时候,返回第二个数;因为第一个已经是false了,值取决于第二个值,所以返回第二个值;
  • 第一个操作数是对象,返回第一个操作数
  • 第一个操作数值为false,返回第二个操作数
  • 两个操作数都是对象,返回第一个操作数
  • 两个操作数都是null,返回null;
  • 两个操作数都是NaN,返回NaN;
  • 两个操作数都是undefined,返回undefined

算术运算符

算术运算符包括:+-*/%;

复合赋值运算符:+=、-=、*=、\/=、%=

  • +
    • 功能:
      • 1、对数字进行代数求和
      • 2、对字符串进行连接操作
      • 3、将一个数值转换成字符串
    • 字符串拼接
      • 字符串+字符串—两者直接拼接
      • 字符串+数值—数值转为字符串再拼接
  • -
    • 功能:
      • 对操作数进行”取反”操作
      • 对数字进行减法操作
      • 将字符串转换成数值–数值型字符串-0;
  • *和/
    • 功能:对两个运算数进行乘法(除法)运算;
    • 符号问题:同号得正,异号得负;
  • %
    • 功能:返回两个除数的余数
    • 符号问题:和第一个运算数的符号相同;

关系运算符

  • < 如果A小于B,则返回true,否则返回值为false;
  • <= 如果A小于等于B,则返回值为true,否则返回false
  • >= 如果A大于等于B,返回true,否则返回值为false
  • > 如果A大于B,则返回true,否则返回值为false

操作规则

  • 数值与数值的比较,比较它们的代数值;
  • 仅一个运算数是数值,将另一个运算数转换成数值,并比较他们的代数值;
  • 字符串间的比较,逐字符比较他们的Unicode数值;
  • 字符串与非数值的比较,将运算数转换成字符串并进行比较;
  • 运算数既非数字也非字符串,返回值为false;
  • 与NaN比较,返回值是false;

相等运算符

相等和不相等

  • ==:如果两个操作数相等,则返回 true
  • !=:如果两个操作数不相等,则返回 true。

这两个操作符都会 先转换操作数(通常称为强制转型),然后再比较它们的相等性。

全等和不全等

  • ===
  • !==

这两个操作符不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。所以推荐使用全等和不全等操作符。

注意

另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:

NaN === NaN; // false

唯一能判断NaN的方法是通过isNaN()函数:

isNaN(NaN); // true

条件运算符

?: 条件运算符,简介的if else;也叫三元运算符/三目运算符;基本格式为:条件表达式?表达式一:表达式二;其中问号之前的表示判断的条件,如果这个条件为真,则执行问号后面的语句,如果判断条件不成立,则执行冒号后面的语句。

赋值操作符

  • *=
  • /=
  • %=
  • +=
  • -=
  • <<=
  • 无符号右移/赋值 >>=
  • 无符号右移/赋值 >>>=

逗号运算符

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

var i = 2,j = 1 + i,k = 5

逗号操作符还可以用于赋值。在用于赋值时,逗号 操作符总会返回表达式中的最后一项,

var num = (1,2,3,4,5); //num = 5

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

HTTP Essentials

HTTP Essentials

Stephen A. Thomas、Stephen Thomas / Wiley / 2001-03-08 / USD 34.99

The first complete reference guide to the essential Web protocol As applications and services converge and Web technologies not only assume HTTP but require developers to manipulate it, it is be......一起来看看 《HTTP Essentials》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具