javascript中===和==的区别是什么基础知识教程_区别小白常识

在JavaScript中,“==”和“===”都是比较运算符,那么“==”和“===”运算符的区别是什么?下面本篇文章就来给大家介绍一下“==”和“===”运算符之间的区别,希望对大家有所帮助。首先我们要知道:JavaScript中’==’运算符表示抽象相等;而,’====’运算符表示严格相等。那么JavaScript中==和===运算符的区别是什么?“==

javascript中===和==的区别是什么基础知识教程

在JavaScript中,“==”和“===”都是比较运算符,那么“==”和“===”运算符的区别是什么?下面本篇文章就来给大家介绍一下“==”和“===”运算符之间的区别,希望对大家有所帮助。

javascript中===和==的区别是什么基础知识教程_区别小白常识

首先我们要知道:JavaScript中’==’运算符表示抽象相等;而,’====’运算符表示严格相等。

那么JavaScript中==和===运算符的区别是什么?

“==”运算符会在进行相等比较之前会进行必要值的类型转换。简单来说,就是先把值转换为一样的类型再进行相等比较。就算比较的值的类型不相同,也可以通过强制转换类型成一样的,不会发生错误。

“===”运算符,它不会执行类型转换,因此如果两个值不是相同类型,那么当比较时,它将返回false。如果比较两个变量,它们的类型彼此不兼容,则会产生编译错误。

下面分别说明:

先说 “===”,这个比较简单。下面的规则用来判断两个值是否===相等:

1、如果类型不同,就不相等

2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)

3、如果两个都是字符串,每个位置的字符都一样,那么相等;否则不相等 。

4、如果两个值都是true,或者都是false,那么相等。

5、如果两个值都引用同一个对象或函数,那么相等;否则不相等。

6、如果两个值都是null,或者都是undefined,那么相等。

再说 “==”

如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

a、如果一个是null、一个是undefined,那么相等。

b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;

e、任何其他组合,都不相等。

海计划公众号
(0)
上一篇 2020/03/22 20:49
下一篇 2020/03/22 20:49

您可能感兴趣的内容

  • JS的变量作用域问题,理解js全局变量和局部变量问题入门指南_js知识使用说明

    js的变量分为2种类型:局部变量和全局变量。主要区别在于:局部变量是指只能在变量被声明的函数内部调用,全局变量在整个代码运行过程中都可以调用。值得注意的js中还可以隐式声明变量,而隐式声明的变量千万不能当做全局变量来使用。下面将通过一些例子做详细说明:例子一:var a=”Hello”; function test(){ var a; console.

    2020/04/06
  • XSS自动点按钮有什么危害?如何让按钮不被 JS 自动点击?基础教程_攻击基础指南

    前言XSS 自动点按钮有什么危害?在社交网络里,很多操作都是通过点击按钮发起的,例如发表留言。假如留言系统有 XSS,用户中招后除了基本攻击外,还能进行传播 —— XSS 自动填入留言内容,并模拟点击发表按钮,于是就能发布带有恶意代码的留言。好友看了中招后,又传播给他们的好友。。。从而形成蠕虫扩散。那么有没有一种机制,让「发表留言」必须通过用户的「真实点击」

    2020/03/26
  • legoflow基础知识入门_更轻、更强、开箱即用的 前端工作流客户端

    legoflow基础知识入门 官方网址:https://legoflow.com GitHub:https://www.awesomes.cn/repo/legoflow/lego…

    2020/03/06
  • 常用报表软件有哪些?入门知识_软件基础入门

    在企业管理过程中,报表往往都会通过一些简洁的图表方式,为大家呈现所有的数据。报表软件,可以在操作的过程中有效提升工作效率,所以有很多企业早就已经选择跟随信息技术的潮流,选择报表软件工具。很多人也一直都在关注免费报表软件有哪些,本文就为大家推荐几款比较常见的。1、润乾我们在查询免费报表软件有哪些时,那么不少人也会发现,传统报表软件中其实也有很多。比如说润乾,这

    2020/03/26
  • 前端开发,脱离菜鸟层次的二个关键点小白基础_前端作者: web前端教室小白指南

    我个人吧,一直认为学习前端技术是比较简单的事情,只要你真的是一步一个脚印的在前进,那你自然会有相应的结果可以收获。这里面包含二个关键点,一,脚踏实地;二,不断努力。第一个关键点,欲速。许多人不太愿意慢慢的去学习javascript,总是觉得招聘中要求的vue,react,node…等,那我把这些东西学会了,不就ok了嘛。但是,因为javascript的技

    2020/04/06
  • 装饰器模式在React中实际使用场景入门百科_模式入门教程

    首先简要的介绍一下问题,我们公司大部分项目都是使用umi+Ant Design Pro 构建(下面的Pro都指代它),因为场景的不同,我们总是要根据不同的场景区分和抽离布局组件,在Pro中的layouts文件夹里面已经为我们提供了不同场景的布局组件。大部分页面包含了通用的导航、侧边栏、顶部通知、页面标题等元素,这时候我们会使用BasicLayout作为布局组

    2020/03/26
  • 前端Js图片压缩小白知识_图片使用攻略

    实现思路获取input的file使用fileReader() 将图片转为base64使用canvas读取base64 并降低分辨率把canvas数据转成blob对象把blob对象转file对象完成压缩相关代码:

    <meta name="vi

    2020/03/29
  • 响应式网站的设计流程使用攻略_响应式基础入门

    当客户提出产品功能移动化的需求时,虽然响应式站点并不能算是一种纯粹的移动化解决方案,但是,在某些情况下,这种方式是非常值得考虑的。需要先花些心思将原本的网站打造得更具弹性,使其在各种主流移动设备中都拥有尽量优秀的用户体验。响应式网站设计需要考虑以下流程。 第一步:确定需要兼容的设备类型、屏幕尺寸。通过用户研究,了解用户使用的设备分布情况,确定需要兼容的设备类

    2020/03/29
  • CSSwinner基础入门_优秀CSS网站界面和交互设计获奖作品

    CSSwinner基础入门 官方网址:https://www.csswinner.com/ 简介描述:优秀CSS网站界面和交互设计获奖作品 CSSwinner是一个针对网页设计的作…

    2020/03/10
  • 通过fetch发送 post 请求下载文件基础知识入门_fetch基础入门

    背景最近遇到一个下载的需求,由于 url 参数太长(常用的下载方法 a 标签或者 location.href 的方法都是 get 请求,get 请求参数长度有限制),无法下载,考虑了好几种方案,最终还是觉得通过 ajax 的 POST 方法进行下载,比较容易实现,下面记录实现过程以及遇到的问题。但是由于 AJAX 并不会唤起浏览器的下载窗口, AJAX 设计

    2020/03/23
  • 成年人的100个心酸瞬间菜鸟知识_职业入门基础

    这世上没有完美的工作,更没有完美的人才。一切看似光鲜亮丽的背后,都是不为人知的心酸与孤独。你只看到别人生活质量提高的一面,但只有他们自己知道,工作是如何把他们折磨得面目全非。
    你以为某个行业赚钱轻松,而且挣得非常多,可实际上生命的一切馈赠,都在暗中标好了价格,你需要为此付出多少代价,牺牲多少筹码。
    你可能正在从事下面的职业,也可能对下面某个职业抱有憧憬。三百

    2020/03/30
  • swiper基础入门教程_目前应用较广泛的移动端网页触摸内容滑动js插件

    swiper基础入门 官方网址:http://www.swiper.com.cn/ GitHub:https://github.com/nolimits4web/Swiper 简介…

    2020/03/05
  • 前端新手程序员不知道的 20个小技巧小白知识_技巧作者: 转载入门基础

    1.作为前端开发者,使用双显示器能大幅提高开发效率。2.学编程最好的语言不是PHP,是English。3.东西交付之前偷偷测试一遍。4.问别人之前最好先自己百度,google一下,以免问出太低级的问题。5.把觉得不靠谱的需求放到最后做,很可能到时候需求就变了,或者取消了。6.读好书,垃圾书会浪费你时间。7.不要炫技,面向人脑编程更便于维护。8.没事别重复造轮

    2020/04/05
  • BetterScroll入门教程移动端滚动插件,支持下拉刷新,上拉刷新,轮播图,slider等功能

    BetterScroll基础入门 官方网址:https://ustbhuangyi.github.io/better-scroll/#/ GitHub:https://github…

    2020/03/05
  • jsx是什么?小白知识JSX语法简介_jsx菜鸟攻略

    JSX简介JSX就是Javascript和XML结合的一种格式。React发明了JSX,从本质上讲,JSX 只是为 React.createElement(component, props, …children) 函数提供的语法糖。利用HTML语法来创建虚拟DOM。当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析。 如下(JS写法)

    2020/04/05
  • Js算法:计算两数之和使用指南_算法使用指南

    题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例给定 nums = [2,4,5,6], target = 9
    因为 nums[1]

    2020/03/29