JS中的!=、== 、!==、===的用法和区别。

2023-05-16

JS中的!=、== 、!==、===的用法和区别。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var num = 1;
 
var str = '1';
 
var test = 1;
 
test == num   //true 相同类型 相同值
 
test === num  //true 相同类型 相同值
 
test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false
 
 
num == str   //true  把str转换为数字,检查其是否相等。
 
num != str   //false  == 的 非运算
 
num === str  //false  类型不同,直接返回false
 
num !== str  //true   num 与 str类型不同 意味着其两者不等 非运算自然是true啦

== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。

而 
=== 和 !== 只有在相同类型下,才会比较其值。
-----------------------------------
 
首先,== equality 等同,=== identity 恒等。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
==,不做类型转换,类型不同的一定不等。

下面分别说明:
先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
   a、如果一个是null、一个是undefined,那么[相等]。
   b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
   c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
   d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻 烦,我也不大懂)
   e、任何其他组合,都[不相等]。

举例:
"1" == true
  类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。

= 赋值运算符
== 等于
=== 严格等于  用来进行严格的比较判断
例:
var a = 3;
var b = "3";

a==b 返回 true
a===b 返回 false

转载于:https://www.cnblogs.com/kungfupanda/p/4535865.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS中的!=、== 、!==、===的用法和区别。 的相关文章

  • ValidationSummary控件

    ValidationSummary控件用于在页面中的一处地方显示所有验证错误的列表 这个控件在使用大的表单时特别有用 如果用户在页面底部的表单字段中输入了错误的值 xff0c 那么这个用户可能永远也看不到错误信息 不过 xff0c 如果使用
  • 数据特征分析——概述

    一 6个基础分析思路 xff1a 1 分布分析 2 对比分析 3 统计分析 4 帕累托分析 5 正态性检验 6 相关性分析 二 分布分析 分布分析 xff1a 研究数据的分布特征和分布类型 xff0c 分定量数据 定性数据区分基本统计量 三
  • Filebeat 6.0 把日志直接输入到ES中如何自定义index

    临时搭建了一套EFK xff08 elasticsearch xff0c filebeat xff0c kibana xff09 xff0c filebeat 6 0 默认的index 是filebeat 43 时间 xff0c 这样无法满
  • 人在异乡

    为什么到了上海五年 xff0c 还是没有归属感 to be continued
  • 怎么求矩阵对应的基

    怎么求矩阵对应的基呢 xff1f 对矩阵做初等行变换 xff0c 化为上三角形 或 对角型 xff0c 主对角元素不为0的列即为该矩阵的一组基 A 61 这个矩阵对应的一个基 为 其实 xff0c 将第二行的 1 倍加到第一行上 xff0c
  • javascript弹出窗口代码

    1 最基本的弹出窗口代码 lt SCRIPT LANGUAGE 61 34 javascript 34 gt lt window open 39 page html 39 gt lt SCRIPT gt 因为着是一段javascripts代
  • 大规模异步新闻爬虫【5】:网页正文的提取

    前面我们实现的新闻爬虫 xff0c 运行起来后很快就可以抓取大量新闻网页 xff0c 存到数据库里面的都是网页的html代码 xff0c 并不是我们想要的最终结果 最终结果应该是结构化的数据 xff0c 包含的信息至少有url xff0c
  • 网络安全态势可视化

    导语 网络态势可视化技术作为一项新技术 xff0c 是网络安全态势感知与可视化技术的结合 xff0c 将网络中蕴涵的态势状况通过可视化图形方式展示给用户 xff0c 并借助于人在图形图像方面强大的处理能力 xff0c 实现对网络异常行为的分
  • 滚动窗口

    本页目录 语法案例 滚动窗口 xff08 TUMBLE xff09 将每个元素分配到一个指定大小的窗口中 通常滚动窗口有一个固定的大小 xff0c 并且不会出现重叠 例如 xff1a 如果指定了一个5分钟大小的滚动窗口 xff0c 无限流的
  • Qt5&OpenCV3 UDP协议实现实时视频传输与通信

    打算在树莓派上挂载摄像头 xff0c 通过WIFI模块传输到上位机 局域网内带宽不是问题 xff0c 为了保证实时性 xff0c 也没有必要进行复杂的视频编码和解码 xff0c 于是通过截图然后使用UDP协议传输应该是可以的 所以最近试探性
  • BeanUtils.copyProperties忽略某些字段的值及其原理

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 用法 例如 xff1a BeanUtils copyProperties beforeObj route new String 34 id 34 34 createDa
  • 关于C语言中的科学计数法问题。

    变量 不能作为e的指数 是的 double a 61 3 5e2 double a 61 3 5e0 double a 61 3 5e 2 只能是字面常量 xff0c 而且必须是整数 xff0c 正负0均可 double a 61 3 5e
  • Access Denied when running Spring.IocQuickStart.MovieFinder

    I just begin to learn something about Spring Net heaps of probem are waiting for me The very first one has been solved I
  • 错误提示窗口-“操作系统当前的配置不能运行此应用程序”

    有些人安装的Windows系统里的office是精简版的 xff0c 只适合普通办公处理word和excel xff0c 以及PPT xff0c 但是我们要研究一些关于数据库的知识时会受到阻碍 xff0c 大多数人会自己在网上随便找了一个A
  • matlab练习程序(倾斜校正,透视变换)

    过去也写过透视变换 xff0c 当时算法真是弱爆了 xff0c 我竟然会通过两次变换 不过那引用的三篇文章都是非常好的文章 xff0c 直到今天我才看明白 所谓的倾斜校正 xff0c 一定要有标定点 xff0c 将一个倾斜的矩形变为不倾斜的
  • 多媒体指令(数组对应元素相乘)

    include lt iostream gt using namespace std int main int argc char argv float a 8 61 1 2 3 4 5 6 7 8 float b 8 61 1 2 3 4
  • 安卓手机如何快速投屏到windows(10/8.1/7)电脑上

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 前提 手机和电脑连接的网络必须在同一局域网下 优势 手机和电脑不需要下载对应平台的应用 xff0c 完全使用全系统自带功能 附加 以下演示是安卓手机和windows操作系统
  • Webpack mode三种模式配置说明(production,development,none)

    我们都知道webpack的配置文件 webpack config js 文件中 mode 表示webpack当前的环境以及对不同的环境的配置 虽然官方文档写明了三种不同的模块的配置 xff0c 但是没有具体说明是什么意思 xff0c 我就注
  • kafka多个消费者消费一个topic_kafka:一文读懂消费者背后的那点"猫腻"

    来自 xff1a z小赵 前言 经过前几篇文章的介绍 xff0c 大致了解了生产者背后的运行原理 消息有生产就得有人去消费 xff0c 今天我们就来介绍下消费端消费消息背后发生的那点事儿 文章概览 消费者与消费组的 父子关系 Reparti
  • win7无法连接打印机拒绝访问_“Windows无法连接打印机,操作失败,错误为0x000003e3”...

    请求大家帮助 xff0c 昨天在共享打印机时出现 Windows无法连接打印机 xff0c 操作失败 xff0c 错误为0x000003e3 在百度百科查询的资料修改了都不行 在不重装系统前提下 xff0c 联想台式机都是win732位系统

随机推荐