JS中的==和===的区别
简单来说: ==
代表相同, ===
代表严格相同。
这么理解: 当==
进行比较时候: 先检查两个操作数数据类型,如果相同, 则进行===
比较, 如果不同, 则进行一次类型转换, 转换成相同类型后再进行比较, 而===
比较时, 如果类型不同,直接就是false
。
双等号==
的比较过程:
如果两个值类型相同,再进行三个等号(
===
)的比较;在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则:
- 如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——
false
转换为0
,而true
转换为1
; - 如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值;
- 如果一个操作数是对象,另一个操作数不是,则调用对象的
valueOf()
方法,用得到的基本类型值按照前面的规则进行比较;
- 如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——
这两个操作符在进行比较时则要遵循下列规则:
null
和undefined
是相等的;要比较相等性之前,不能将null
和undefined
转换成其他任何值;- 如果有一个操作数是
NaN
,则相等操作符返回false
,而不相等操作符返回true
。即使两个操作数都是NaN
,相等操作符也返回false
;因为按照规则,NaN
不等于NaN
; - 如果两个操作数都是对象,则比较它们是不是同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回
true
;否则,返回false
。
JS中的==和===的区别相关推荐
- js中toString()和String()区别详解
转载自 js中toString()和String()区别详解 我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 ...
- 2021-09-11 consolidate 模板引擎整合库,Node.js 中 __dirname 和 ./ 的区别
consolidate 模板引擎整合库[适配] npm install consolidate 在工作路径的views目录下,新建1.ejs <!DOCTYPE html> <htm ...
- JS中同步和异步的区别
JS中同步和异步的区别 js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.如果一个任务耗 ...
- js中const,var,let区别与用法
原文链接:https://blog.csdn.net/qq_36784628/article/details/80966826 js中三种定义变量的方式const, var, let的区别. 1. c ...
- 【js】js中const,var,let区别
在node.js使用例子中,第一次看到const的声明,查询了一下,可以看得出来: http://www.cnblogs.com/ksl666/p/5944718.html 参考 主要内容是:js中三 ...
- js 中call()与apply()区别与常见用途
在JS中Function原型定义了两个方法,分别是Function.prototype.call和Function.prototype.apply. call与apply的区别 Function.pr ...
- Node.js 中 __dirname 和 ./ 的区别
stackoverflow 地址 概要 Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,所以当你在 /d1/d2/myscript.js 文件中写了 __dirname, ...
- 【php基础入门】PHP环境搭建与初识php代码书写及演示PHP和JS中遍历数组的区别、引入外部文件等知识点学习笔记
php是什么? PHP是PHP:HypertextPreprocessor(超文本预处理器)的首字母缩写,是一种跨平台的.开源的.免费的脚本语言,其语法吸收了C语言.Java 和 Perl 的特点,利 ...
- JS中attr和prop区别
一.attr和prop区别 attr 是从页面搜索获得元素值,所以页面必须明确定义元素才能获取值,相对来说较慢. prop是从属性对象中取值,属性对象中有多少属性,就能获取多少值,不需要在页面中显示定 ...
- JS中var和let区别
1.let声明的变量是块级作用域(所在花括号里),var是函数作用域和全局作用域 注意:let是可以定义全局变量,局部变量,块级作用域的变量. 2.let声明的变量只在其声明的块或子块中可用 ...
最新文章
- CentOS6怎么样设置ADSL上网
- ACM小白入门之必须要了解的东西
- ios 将矩形图片裁剪成圆形图片
- 这是预编译工具生成的文件_组件化架构 10.编译优化
- spring cloud @RefreshScope刷新问题
- css--calc()函数
- VTK:网格之ColoredElevationMap
- ubuntu16.04无法连接WiFi搜索不到网络网卡驱动
- leetcode704. 二分查找
- C#基于websocket-sharp实现简易httpserver(封装)
- 第七章 变量进阶与点阵LED 练习题
- quartz 数据库表含义解释
- symbol是c语言标识符,symbol的理解
- sentiment analysis
- 火山PC(火山视窗)超级列表框使用案例教程
- Opencv实现击中击不中
- 图像信息处理:bmp文件、颜色空间转化、灰度图
- eap方法 华为手机怎么连wifi_怎样为WLAN选择最佳的EAP?
- solidworks螺纹线画法
- 关于项目采购管理,这些你需要知道
热门文章
- 访问tomcat服务器文件路径,外置tomcat映射服务器路径以及springboot内置tomcat映射路径配置...
- 内核管理 之 内核管理概述
- java学习日记(1-7)
- Learn Python 014: Funtions
- Docker结合Jenkins的持续构建实践
- android TextView中文字通过SpannableString设置属性
- 关于telnet的问题
- Linux学习笔记:GDB常用命令
- 复制的python代码格式错误_新手常见6种的python报错及解决方法
- 七牛云 转码_开发者选择短视频SDK,为何青睐七牛云?