JavaScript中=、==、===以及!=、!==的区别与联系 您所在的位置:网站首页 inadvance和aheadofschedule的区别 JavaScript中=、==、===以及!=、!==的区别与联系

JavaScript中=、==、===以及!=、!==的区别与联系

2024-06-02 20:24| 来源: 网络整理| 查看: 265

在JavaScript中,“=”代表赋值操作;“”先转换类型再比较,“=”先判断类型,如果不是同一类型直接为false。其中“”和“=”都可以用在布尔表达式中,但两者有很大的区别,下面对三者进行具体介绍:

一、“=”代表赋值,即将右边的值赋值到左边。

例子:表达式① x=“55”,表示将字符串类型的55赋值给变量x,即变量x也为字符串类型。

表达式② x=55,表示将数值类型的55赋值给变量x,即:变量x也为数值类型

二、 “==”表示先转换类型(自动)再比较。如果两个值相等,肯定相等,如果两个值不等,也可能是相等的,按一下情况进行判断: 1、如果一个是null、一个是undefined,那么相等。 2、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 3、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

4、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。

注意:对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象。

例子:表达式"1" == true;返回结果为true。

解析:true转成1,再把“1”转成1,进行比较。(“==”会在两个值数据类型不同时,自动转化为同类型进行值比较)

三、 “===”先判断数据类型,(类型不同时,不会自动转换类型)如果不是同一类型直接为false。如果类型相同,再判断其值,如果值也相同则返回true,否则返回false。===表示的是绝对的相等。

1、如果被比较的两个值数据类型不相等则不等。 2、如果被比较的两个值都是数值,并且是同一个值,判定相等。 3、如果被比较的两个值都是字符串,每个位置的字符都一样,那么相等;否则不相等。 4、如果被比较的两个值都是布尔类型的true,或者都是false,那么相等。 5、如果被比较的两个值都引用同一个对象或函数,那么相等;否则不相等。 6、如果两个值都是null,或者都是undefined,那么相等。

例子:假设给定 x=5;

表达式① x===5 返回结果为 true;

表达式② x===“5” 返回结果为 false。

解析:针对给定表达式x=5知,将数值5赋值给变量x,即:变量x为数值类型变量。因此,对于表达式①,等号两端数据类型均为数值类型,类型相同,再比较数值,均为5,因此值与类型均相同,所以返回结果为true。而对于表达式②来说,等号坐标变量x数据类型为数值型,等号右端变量数据类型为字符串类型,二者数据类型不相同,由于“===”表达式不能实现自动转换数据类型,因此返回数据结果为false。

四、!=是“==”的逆反,在不等式两端数据类型不同时,自动转化成相同的数据类型,在进行值比较,如果值相同则返回结果为false,否则为true。

例子:表达式"1" != true;返回结果为false。

解析:对于表达式“!=”,两百年数据类型不相同,会自动将布尔型true转成数值型1,再把字符型“1”转成数值型1,在进行比较,值相同,因此表达式不成立,即返回结果为false。

五、!是“=”的逆反,当不等式两端的数据类型不相同时,不会自动将两端的数据类型转换成同一数据类型,而是返回结果直接为true,如果数据类型相同,继续比较其值,如果值也相同,则返回false,否则返回true。

例子:假设给定 x=5;

表达式① x!==5 返回结果为false;

表达式② x!==“5” 返回结果为 true;

解析:针对给定表达式x=5知,将数值5赋值给变量x,即:变量x为数值类型变量。因此,对于表达式①,等号两端数据类型均为数值类型,类型相同,再比较数值,均为5,因此值与类型均相同,所以返回结果为false。而对于表达式②来说,等号坐标变量x数据类型为数值型,等号右端变量数据类型为字符串类型,二者数据类型不相同,由于“!==”表达式不能实现自动转换数据类型,因此返回数据结果为true。 原文链接:https://www.cnblogs.com/mycnblogs-guoguo/p/10101355.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有