Js中 == 和 === 的区别小白指南_类型基础指南

” == ” 情况1、两个不同的基本数据类型: 如果两个基本数据类型(string、number)不同,会将它们转化为数据类型,再进行比较。例如:0 == ” // true
0 == ‘0’

Js中 == 和 === 的区别小白指南

” == ” 情况

1、两个不同的基本数据类型: 如果两个基本数据类型(string、number)不同,会将它们转化为数据类型,再进行比较。例如:

Js中 == 和 === 的区别小白指南_类型基础指南

0 == ''                                                  // true
0 == '0'                                                 // true
1 == '1'                                                 // true
'0' == ''                                                // false

false == '0'                                             // true
false == 'false'                                         // false
false == null                                            // false
false == undefined                                       // false
null == undefined                                        // true

0 === ''                                                 // false
0 === '0'                                                // false
1 === '1'                                                // false

false === '0'                                            // false
null === undefined                                       // false

2、 基本数据类型与引用数据类型: 将引用数据类型(function、object,其中object包含array)转化(后台自动调用 `Object.prototype.valueOf() )为它的原始值,再进行比较。例如:

[1,2] == '0'                                            // true
function(){return ['1,2']}() == '1,2'                   // true

[1,2] === '0'                                           // false
function(){return ['1,2']}() === '1,2'                  // false

3、 两个引用类型: 判断两者之间的引用路径。例如:

[1,2] == [1,2]                                          // false
[1,2] === [1,2]                                         // false

” === ” 情况

从以上示例可以看出,不做类型转化,类型不同一定返回 fasle 。

总结:推荐使用 “===”, 只要类型不一致,直接返回 fasle;“==” 会造成类型转换再进行比较, 不严谨。

海计划公众号
(0)
上一篇 2020/03/29 01:44
下一篇 2020/03/29 01:44

您可能感兴趣的内容

  • javascript 链式写法菜鸟攻略_链式指南教程

    熟悉Jquery的同学都知道,它对dom的操作基本都链式调用的写法,这种给人感觉就是很简洁,易懂,而且最大的好处就是避免多次重复使用一个对象变量。链式的实现方式:链式操作是在对象的方法中通过最后返回自身对象(return this),返回的对象就可以继续调用它里面的方法。那么,简单实现一下:var o ={f:function(r){console.log(

    2020/03/31
  • vue2.6中slot的新用法使用教程_slot小白知识

    最近发布不久的Vue 2.6,使用插槽的语法变得更加简洁。 对插槽的这种改变让我对发现插槽的潜在功能感兴趣,以便为我们基于Vue的项目提供可重用性,新功能和更清晰的可读性。 真正有能力的插槽是什么?如果你是Vue的新手,或者还没有看到2.6版的变化,请继续阅读。也许学习插槽的最佳资源是Vue自己的文档,但是我将在这里给出一个纲要。插槽是什么?插槽是Vue组件

    2020/03/30
  • H5视频交互小白基础_视频入门基础

    注意在uc浏览器和ios微博里面,是不支持视频交互的,暂时没有办法把层级放在视频上方,IOS 必须用click事件点击之后视频才会播放,不支持自动播放 安卓环境下,视频播放会全屏播放,播放完之后不会回到原页面,可以做个display: none 让视频退出全屏微信解决视频层级播放问题腾讯接入文档链接:https://x5.tencent.com/tbs/gu

    2020/03/24
  • ES6 Set类型入门知识_类型使用说明

    Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。基本使用new Set([iterator])iterator 与Map类似,Set接收一个可选的Iterator对象,所有元素将按照顺序不重复地添加到Set中。传递null或者undefined将返回一个空Setconst set = new Set();
    // 添加

    2020/03/23
  • 在H5中唤起APP,唤起失败进入APP下载页菜鸟知识_APP菜鸟教程下载

    在H5中唤起APP原理:通过Scheme协议打开APP
    Scheme的组成:scheme:path[#fragment]一、直接使用协议打开APP,打开失败进入下载页打开Appfunction openApp() {// 通过iframe的方式试图打开APP,如果能正常打开,会

    2020/03/23
  • jquery.zoom.js指南教程一款非常实用的图片内部缩放和平移jQuery插件

    jquery.zoom.js基础入门 官方网址:http://www.jacklmoore.com/zoom/ GitHub:https://github.com/jackmoor…

    2020/03/05
  • WXPage入门百科_一个极其轻量的微信小程序开发框架

    WXPage入门百科 GitHub:https://github.com/tvfe/wxpage 简介描述:一个极其轻量的微信小程序开发框架 WXPage 是一个极其轻量的微信小程…

    2020/03/11
  • NES.css入门基础_一款像素风格的 CSS 库

    NES.css入门基础 官方网址:https://bcrikko.github.io/NES.css GitHub:https://github.com/BcRikko/NES.c…

    2020/03/06
  • 腾讯文档基础知识_在线多人协作文档工具

    腾讯文档基础知识 官方网址:https://docs.qq.com 简介描述:在线多人协作文档工具 《腾讯文档》是一个可多人协作的在线文档编辑和管理工具,支持Word和Excel文…

    2020/03/11
  • Js模块化的作用、原理、方案小白教程_模块化小白攻略

    Js模块化的作用、原理、方案小白教程 一、模块化概念将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起;块的内部数据与实现是私有的, 只是向外部暴露一些…

    2020/03/20
  • ES6 解构 destructuring使用说明_解构小白知识

    解构的作用:简化书写长度,提升开发效率。解构对象在开发中我们常用到使用ajax请求数据,并且把数据渲染到页面上。可能这个数据返回的对象或数组。例如返回一个obj{name:’zwq’,age:18,sex:woman}而我们获取里面的值保存在变量里会用 var name = obj.name,var age = obj.age。在es6中提供了解构的语法糖,

    2020/03/23
  • Js设计模式——适配器模式基础指南_模式入门教程

    适配器模式是设计模式行为型模式中的一种模式;定义:适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修改已有接口,就可以使他们协同工作; 白话解释:你买了某种电器产品,准备带回家好好感受该款产品的魅力;结果带回家之后准备通电使用的时候,发现该产品仅支持两孔插座,而你家里的电源插座都是三孔插座;这

    2020/03/24
  • Google Developers零基础入门_Google为中国开发者而建立的技术资源

    Google Developers零基础入门 官方网址:https://developers.google.cn/ 简介描述:Google为中国开发者而建立的技术资源 Google…

    2020/03/07
  • 一个程序员的自白:如何面临跳槽、转型新手入门_程序员菜鸟教程网

    本文作者毕业四年多,从底层技术到IT主管,从月薪3000到现在的14K。作者在这篇文章中,会告诉年轻的你,面料跳槽、转型时该如何做出自己的选择。有时候我们虽然起点比别人慢了些,却因为有着一腔热血,实现自己的目标也不是难事。我和众多朋友一样,都是从还没毕业就开始不停的担心未来的职业规划,职业选择,等到就业后又担心自己职业前景是否走的正确,总之就是一路走一路看一

    2020/04/03
  • 用了几十年的浏览器 user-agent 要退出历史舞台了?看看 Google 怎么说小白知识_浏览器基础指南

    Google 近日宣布,计划在 Chrome 浏览器上逐步淘汰 user-agent 字符串。
    这里稍微解释下,user-agent (UA,用户代理) 字符串是现代 web 和浏览器功能的重要组成部分。
    UA 字符串是浏览器建立连接时向网站发送的一段文本。UA 字符串包含了浏览器类型、渲染引擎和操作系统等详细信息。例如,Windows 10 上的 Fire

    2020/03/20
  • pakutaso小白知识_日本免费写真素材站

    pakutaso小白知识 官方网址:https://www.pakutaso.com/ 简介描述:日本免费写真素材站 Pakutaso 是日本的一家这里高品质照片素材免费分享的站点…

    2020/03/06