js之数据类型的比较
js中数据类型分基本数据类型和引用数据类型,然后它们又再细分,那么它们之间的比较又是怎么进行的呢?刚接触这个,真的是把我弄得特别懵,不过总结完以后,做了些练习好了很多,下面我来捋一捋。
==
- 比较;返回一个布尔值;相等返回true,不相等返回false
- 允许不同数据类型之间的比较;
- 如果是不同类型的数据进行,会默认进行数据类型之间的转换;
console.log(1 == 1);// trueconsole.log(1 == "1");// trueconsole.log(1 == "1px");//falseconsole.log(1 == true);//trueconsole.log([]==false)// trueconsole.log([]==0)// trueconsole.log(100 == false);// falseconsole.log(188 == "188");// trueconsole.log(false == " ");// true
- 如果是对象数据类型的比较,比较的是空间地址
console.log({}==[])// falseconsole.log({}=={})// falseconsole.log([]=="")// trueconsole.log([]==0)// true
既然有这么多数据类型,那么它们的比较肯定不是毫无章法的!
- 数据类型比较规律
- 对象 ==布尔: 对象先转字符串再转数字,布尔转数字;
- 对象==对象: 比较是空间地址;
- 对象==数字 对象先转字符串,再转数字
- 对象==布尔: 对象先转字符串,再转数字,布尔转数字
- 对象==字符串 : 对象转字符串,字符串比较
- 布尔==字符串 : 布尔转数字,字符串转数字
- 布尔==数字: 布尔转数字
字符串==数字: 字符串转数字
{ } 对象toString 转换成字符串结果是"[object Object]"
!(取反) : 会先把后面的值进行去布尔,然后再取反,最后比较
0 " " NaN null undefined只有这五个值转布尔是false;
console.log(![] == [])// trueconsole.log([]==[])// falseconsole.log(![]==false);//trueconsole.log({a:1}=="[object Object]")// trueconsole.log("12px" == 12);
===
绝对比较; 只要数据类型不一样,那么返回false;
console.log(1 === 1);// true
console.log(1 === true);// false
console.log(1 === "1");// false
转载于:https://www.cnblogs.com/wangxingren/p/10110595.html
js之数据类型的比较相关推荐
- js基础--数据类型检测的相关知识
欢迎访问我的个人博客:www.xiaolongwu.cn 前言 最近工作有点忙,好几天都没更新技术博客了. 周末起床打开有道云笔记,发现自己的博客todolist里躺了一堆只有名字的文件. 话不多说, ...
- js的数据类型--数字
近期做一些项目的时候发现,自己的js基础还是不够扎实,再看一遍犀牛书,加深自己的理解和印象.所以从这篇文章开始,后面都是关于原生js的一些内容. 这篇文章,我们具体介绍一下js的数据类型其中一种. j ...
- js的数据类型,以及如何判断它们是哪种类型
一.js的数据类型:null . nudefined .number.Boolean.string.array.object 二.判断js的数据类型 (1)值类型 console.log(typeof ...
- JS中数据类型、内置对象、包装类型对象、typeof关系
平时在复习JS基础知识时,经常会遇到JS数据类型.基础数据类型.内置对象.包装类型对象,检测数据类型时,用到的typeof值,感觉都差不多,但是又有差异.今天特地整理下,方便理解. JS数据类型 基础 ...
- js基本数据类型和复杂数据类型的区别
js基本数据类型和复杂数据类型的区别为: let b = {age: 10 }let a = b; a.age = 20; console.log(a); //{ age: 20 } //基本数据类型 ...
- ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...
JS中的数据类型 (一).基本数据类型(值类型) 1.number:数字 -12.12.5.-12.5 0这些数字都是number: js中增加了一个number类型的数据:'NaN' typeof ...
- php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...
JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换 1. JS的数据类型和访问 1.1. 原始类型JS中的原始数据类型有: number , string , boolean ; 声 ...
- JavaScript笔记2———js的数据类型
JS的数据类型有: 1.数值类型(Number):js中所有数字均用浮点数字表示. 可以表示32位(即4字节)的整数,也可以表示64位(即8字节)的浮点数(小数). 也可以用二进制.八进制.十进制.十 ...
- js检测数据类型四种办法
typeof类型检测 作用:用于判断一个一个表达式,(对象或者原始值),返回一个字符串. var a; var b=null; var c=true; var d=1; var e='s'; var ...
最新文章
- python视频课程推荐-听说程序员都在用,5款Python开发工具推荐
- 错误提示[__NSArrayI addObjectsFromArray:]: unrecognized selector的原因和解决方法
- java: 找不到符号 符号: 方法 setOperation(java.lang.String) 位置: 类型为.......
- path.join 与 path.resolve 的区别
- 原生JavaScript第一篇
- 咨询笔记:麦肯锡7步成诗
- 时速云入选2018中国企业服务创新成长50强
- Ubuntu 修复windows启动项
- 4. 简单的webservices 例子
- RJ45口线序的理解
- HTML,CSS 样式模板大全
- 七万字详解paddle-openVINO【CPU】-从环境配置-模型部署全流程
- JAVA 实现汉字五行笔画查询
- 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)
- Linux 系统维护命令小结
- 易基因|手把手教你做全基因组DNA甲基化测序分析
- 虚假发货的定义,虚假发货的情形有哪些,虚假交易的处罚
- iOS开发Storyboard中UITableView顶部默认空白 - 芒果iOS
- 《深度学习》:CANN训练营_昇腾AI入门课学习笔记(第三章 AI应用开发、第四章 直播视频)
- 【第6篇】人工智能(AI)语音测试原理和实践
热门文章
- What is WCF
- Exchange server 2003迁移到2010无路由组连接器
- 如何使用C#进行PPT展示。
- MYSQ--SHOW PROFILE Syntax and useing
- struts2 配置
- Program to reverse the digits of a number
- Java盲点:双重检查锁定及单例模式
- ASP.NET知识点
- python爬取网页url_Python网络爬虫之利用urllib2通过URL抓取网页内容
- 怎么把python和pycharm关联_Python3 安装pylint 及与PyCharm关联