JavaScript中的"==" 和 "===" 的用法:

  "=="判断相等的隐式转换机制

    1. 判断是否有NaN(not a Number 非数 是计算机科学中数值数据类型的一种,表示未定义 或者不可表示的值)

    判断等式两边是否有NaN数,如果有,一律判定为false

    2. 是否有Boolean值

      2.1 一边为Boolean类型,一边为表达式

        判断表达式的布尔值与Boolean进行比较

      2.2 一边为Number类型,一边为Boolean类型

        将Boolean类型转换为Number,false = 0,true = 1,然后进行比较

    3.null和undefined

      遇到nul或者undefined,不进行数据类型转换,二者之间的比较,返回true

    4.  有一边是字符串

      4.1 另一边同样是String

        直接对等式两边的值进行比较

      4.2 另一边为Number类型

        将String转换为Number类型进行比较

      4.3 另一边是Boolean类型

        同时将String类型和Boolean类型转换为Number类型,然后进行比较 (false = 0,true = 1)

      4.4 另一边是对象或者数组

        则需要调用toString()方法或者valueOf()方法转换为简单类型,然后进行比较

        对象转换为简单类型时会有限调用valueOf()方法,如果能与简单类型进行直接比较,则不再调用toString()方法,否则调用toString()方法

  "===":比较的是数据类型+值

      两者必须完全相等才为true

摘自:https://blog.csdn.net/qq_37530031/article/details/78317823

JS中的双等和全等号比较机制的更多相关文章

  1. js中的连等==和全等===

    ===是没有强制类型转换的,和其他大部分语言的==是一样的.而js中==是有类型转换的. 比如说"true"==true就是错的,Boolean("false" ...

  2. Node.js 中开源库探秘 object-assign | 全栈之路

    这篇内容呢,讲的是另一个技术栈 Node.js 系列,虽然和咱们这里的主题不是特别吻合,不过嘛,汲取多样性的养分是快速成长的好方法,也是现在流行的全栈工程师的必经之路. 由于这篇内容涉及的是 Node ...

  3. JS中的同步异步编程

    首先我们先看看同步与异步的定义,及浏览器的执行机制,方便我们更好地理解同步异步编程. 浏览器是多线程的,JS是单线程的(浏览器只分配一个线程来执行JS)   进程大线程小:一个进程中包含多个线程,例如 ...

  4. js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号

    js 中使用el表达式 关键总结:在js中使用el表达式一定要加双引号 js控制中用到了el表达式,最开始源码如下: var selected = ${requestScope.xxxxForm.re ...

  5. JS中字符串拼装 单双引号的处理 字符转义

    js中可能会用到动态追加元素,可能数据也是从后台传过来的,当然有两种思路, 1.在后台拼装好直接返回; 2.在前台js里面拼装, 如果拼装大量的html时可能单双引号就容易出问题;那么如何解决呢?最近 ...

  6. [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]

    [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War  中文名:战争中的世界  导 演:Ted Childs, ...

  7. JS中表格的全选和删除要注意的问题

    在项目开发中,由于刚刚开始做项目,我对js还不是很精通,所以在用js对表格的全选和删除中遇到了不少问题,后来通过查找资料解决了,之后总结了一下关于js表格的全选和删除出现的一些问题,希望能帮助到大家. ...

  8. JS中的单引号和双引号

    JS里面的单引号和双引号可以同时使用,但是要遵循一定的准则. 最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束:同理,浏览器读到一个 ...

  9. JS中单引號/双引號以及外部js引入的一些问题

    一.单引號和双引號的使用方法的问题 在JavaScript中能够使用单引號.双引號.二者也能够混合使用. 可是,身为菜鸟的我,却碰到了一些引號的使用问题. <body> <div s ...

随机推荐

  1. 安卓(Android)关于 RecyclerView 不能填充满宽度

    RecyclerView 不能填充满屏幕宽度 RecyclerView 的 Adapter 在使用是,一定要 @Overridepublic RecyclerView.ViewHolder onCre ...

  2. 强大的云存储与应用管理工具DzzOffice1.0 Beta(大桌子办公)发布下载

    之前在9月份我们发布了一份内测版,得到了1000多位朋友参与下载测试.经过2个月,结合测试后朋友们反馈的问题,和开发建议.终于完成了这次Beta版的开发.感谢这两个月中参与测试,和帮助我们完善程序的朋 ...

  3. 获取minist数据并转换成lmdb

    caffe本身是没有数据集的,但在data目录下有获取数据的一些脚本.MNIST,一个经典的手写数字库,包含60000个训练样本和10000个测试样本,每个样本为28*28大小的黑白图片,手写数字为0 ...

  4. expdp dblink

    客户端创建dblik create public database link [link_name] connect to {username} identified by "{passwo ...

  5. 花括号的使用 printf %${width}s , 否则会 去找 $widths

    花括号的使用  printf %${width}s , 否则会 去找  $widths 1 #! /usr/bin/perl   2 use strict;  3 use warnings;  4   ...

  6. [css或js控制图片自适应]

    [css或js控制图片自适应]图片自动适应大小是一个非常常用的功能,在进行制作的时候为了防止图片撑开容器而对图片的尺寸进行必要的控制,我们可不可以用CSS控制图片使它自适应大小呢?此个人博客想到了一个 ...

  7. 怎样从SpringMVC返回json数据

    Srping3中配置 maven依赖pom.xml 需要jackson库的依赖 <dependency> <groupId>org.codehaus.jackson</g ...

  8. viewDidLoad等相关函数调用

    viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用.viewDidLoad用于初始化,加载时用到的. loadView 此方法在控制器的view为nil的时候被调用.虽然经常 ...

  9. CSS三栏布局的四种方法

    总括: 不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具 ...

  10. js判断图片是否有效

    var ImgObj=new Image(); ImgObj.src= 'http://192.168.10.6:8082/3D/SERVER_1_DELL_880.jpg'; if(ImgObj.f ...