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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ES6—扩展运算符和rest运算符(6)
- C/C++三元运算符实际上是否具有与赋值运算符相同的优先级?
- Python 运算符
- Python算术运算符
- 004.Python运算符
- Python算术运算符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!