= 赋值运算符
== 等于
=== 严格等于
首先,== 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
因为a,b的类型不一样
===用来进行严格的比较判断
引文来源 js中2个等号与3个等号的区别 - - JavaEye技术网站
分享到:
相关推荐
在JavaScript(JS)中,`==` 和 `===` 是两种常见的比较运算符,它们用于判断两个值是否相等。然而,这两个运算符在处理特殊数据类型时有着显著的差异,这经常会让开发者感到困惑。下面我们将深入探讨这两个运算符的...
对于JavaScript中比较运算符,可能大家用的比较多的是“==”、对于“===”很多人可能很陌生。=== 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等;== 表示相等即仅仅比较两边变量...
### JavaScript中的`<script type="text/javascript">`标签详解 #### 标签含义与作用 在Web开发中,`<script>`标签是HTML文档中用于嵌入或引用JavaScript代码的关键元素之一。它允许开发者直接在HTML文档内部编写...
本文将详细探讨“前端面试题之baseJS-==隐式类型转换”这一主题,帮助你掌握JavaScript中的类型转换规则,以便在面试中能够自信地解答相关问题。 在JavaScript中,“==”双等号运算符用于比较两个值是否相等。然而...
<script src="./js/vue%20(1).js" type="text/javascript" charset="UTF-8"> src里面的内容根据自己的下载的Vue.js的文件位置决定的,我这里只是拿我自己做的举个例子。这个地方的vue.js是因为我下载了两次这个版本...
<script type="text/javascript" src="image/ie_png.js"> <script type="text/javascript"> ie_png.fix('.png, .menu ul li a span'); // 第二个参数为含有png的标签id(css) ie_png.fix('.png, .logo span');...
在这个项目中,我们将深入探讨如何利用Microsoft Translator API在JavaScript中实现实时的中英文切换功能。 首先,你需要注册一个Azure账户并创建一个新的服务主体,以便获取Microsoft Azure Cognitive Services的...
EXT中要用到的js包css包和images包 在jsp页面中导入<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="css/ext-all.css" type="text/css" /> <script language=...
在JavaScript中,`==` 和 `===` 是两种不同的相等运算符,它们在比较时有不同的行为和规则。首先,我们需要明确的是,`=` 是赋值运算符,用于将值赋给变量,而 `==` 和 `===` 是用于比较的。 `==` 相等运算符: 1. ...
在JavaScript中,`=`、`==` 和 `===` 是三种不同的比较运算符,它们用于判断两个值是否相等。理解这些运算符的区别对于编写精确的JavaScript代码至关重要。 首先,`=` 是赋值运算符,它将右侧的值赋给左侧的变量,...
ArcGIS for JavaScript API ArcGIS for JavaScript API 是一款功能强大且灵活的 API,用于...通过学习和使用 ArcGIS for JavaScript API,开发者可以快速构建功能强大的 GIS 应用程序,以满足不同的需求和应用场景。
JavaScript 中的数组是一种基本数据类型,用于存储一组相关的数据。数组可以存储各种类型的数据,包括数字、字符串、对象等。数组的使用非常广泛,以下是对 JavaScript 数组的详细说明。 一、创建数组 JavaScript ...
JS代码也可以在外部文件中,例如: `<script src="jsfile.js" type="text/javascript"></script>`。 JS数据类型 JS中有六种基本数据类型:String、Number、Boolean、Null、Undefined、Object。JS也支持函数和数组...
在Domino XPages开发中,引用JavaScript(JS)和 Cascading Style Sheets(CSS)是构建交互式和美观用户界面的关键步骤。以下是如何在XPages环境中有效地引用这些资源的详细说明。 1) 直接在代码中引用: 这种方法...
在JavaScript中,中文字符是Unicode编码,可以通过`charCodeAt()`方法获取每个字符的Unicode值。但是,直接使用这个方法无法得到对应的拼音,因为它返回的是数字而非汉字的拼音表示。 为了将中文字符转换为拼音,...
本文将深入探讨JavaScript中的==运算符,通过详细的说明和示例图解,帮助你更好地理解和掌握这一运算符。 ==运算符是JavaScript中的比较运算符之一,它用于比较两个值是否相等。在JavaScript中,==运算符被称为抽象...
在JavaScript中,`==`和`===`是两种常见的比较操作符,它们在进行值比较时有着不同的行为和规则。理解这两个操作符的区别对于编写精确的JavaScript代码至关重要。 `===`,也被称作严格相等操作符,它执行的是全等...
在prototype.js中,prototype对象是实现面向对象的一个重要机制。 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一...
Fetch API是现代JavaScript中用于异步数据获取的新标准,它提供了一种更简洁、更易于理解和使用的方式来替代传统的XMLHttpRequest。在`JavaScript - Fetch.js`中,你可能会看到以下核心代码: ```javascript ...
首先,我们需要理解JavaScript中的Date对象。Date对象是JavaScript内置的对象之一,它允许我们处理日期和时间。要获取当前时间,我们可以创建一个新的Date实例,如`var now = new Date();`这行代码会创建一个表示...