运算符基础知识——比较运算符
2018-06-24 02:16:57来源:未知 阅读 ()
x==5;
== | 等于 | x==8 为 false |
=== | 全等(值和类型) | x===5 为 true;x==="5" 为 false |
!= | 不等于 | x!=8 为 true |
> | 大于 | x>8 为 false |
< | 小于 | x<8 为 true |
>= | 大于或等于 | x>=8 为 false |
<= | 小于或等于 | x<=8 为 true |
若两值比较是否相等,a==b;两值可能不是同一类型,==会进行默认的数据类型转换,规则如下:
1.一个操作数是布尔值,则比较之前将其转换为数值(0或者1);
2.一个操作数是字符串,则比较之前将其转换成为数值在比较;
纯字符串比较,转换成ASCII码在进行比较;
纯数字和数字字符串相比较,则将字符串数字隐式转换成数字再进行比较;
纯数字和非数字字符串比较,都返回false;
3.一个操作数是对象,则先调用valueOf()或者toString()方法后在用返回值比较;
一个操作数是对象,则会先调用valueOf()或toString()方法后再用返回值比较。
var a = {toString:function(){
return 1;
}},b=1;
console.log(a==b) // true
对象 == 对象 //false,比较的是他们的地址,每个新创建对象的引用地址都不同
var a = {b:1},h=a; console.log(a==h) //true,引用地址一样
var a = {b:1},b={b:1}; console.log(a==b) //false
两个操作数都是对象,则比较他们是否是同一个对象,如果都指向同一个对象,则返回true,否则返回false;
4、不需要任何转换的情况下,null和undefined是相等的;
5、任何涉及NaN的操作(NaN/10)都会返回NaN;NaN与任何值都不相等,包括它本身
6、在全等和不全等的判断上,比如值和类型都相等才返回true,否则返回false;
若只有一个值,判断真假时,只有(NaN,‘ ’,0,null,undefined)这五个为false,其余均为true;
! :取反 , !!:将其他数据类型转化为布尔类型。
console.log(!'0'); //false
console.log(!0); //true
console.log(!!'1'); //true
console.log(!!0); //false
console.log(!!true); //true
console.log(!!'false'); //true
在关系运算中,‘ ’可以自动转换为0或者false;
null==0 //false,null自动转换为0,但在比较运算上,null和undefined没有自动转换(null!=0)
‘’==0 //true,''字符串在比较的时候,会自动转换
console.log(isNaN('1')); //false
isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。能自动转化为数字的isNaN()都返回false;
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javaScript 逻辑运算符使用技巧整理 2020-03-05
- javascript比较语义化版本号的实现代码 2019-12-19
- JAVASCRIPT下判断IE与FF的比较简单的方式 2019-11-27
- javascript中的运算符 2019-10-29
- JavaScript基础知识之数据类型 2019-10-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash