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

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

查看所有标签

猜你喜欢:

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

Weaving the Web

Weaving the Web

Tim Berners-Lee / Harper Paperbacks / 2000-11-01 / USD 15.00

Named one of the greatest minds of the 20th century by Time , Tim Berners-Lee is responsible for one of that century's most important advancements: the world wide web. Now, this low-profile genius-wh......一起来看看 《Weaving the Web》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具