`
zhanshenny
  • 浏览: 265633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js中==和===

js 
阅读更多
= 赋值运算符
== 等于
=== 严格等于

首先,== 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技术网站
分享到:
评论

相关推荐

    JS 特殊数据类型的 == 和 === 比较

    在JavaScript(JS)中,`==` 和 `===` 是两种常见的比较运算符,它们用于判断两个值是否相等。然而,这两个运算符在处理特殊数据类型时有着显著的差异,这经常会让开发者感到困惑。下面我们将深入探讨这两个运算符的...

    javaScript中"=="和"==="的区别详解

    对于JavaScript中比较运算符,可能大家用的比较多的是“==”、对于“===”很多人可能很陌生。=== 表示恒等,首先比较两边的变量数据类型是否相等,其次比较两边的变量的数值是否相等;== 表示相等即仅仅比较两边变量...

    javascript中的用法与意思

    ### JavaScript中的`<script type="text/javascript">`标签详解 #### 标签含义与作用 在Web开发中,`<script>`标签是HTML文档中用于嵌入或引用JavaScript代码的关键元素之一。它允许开发者直接在HTML文档内部编写...

    前端面试题之baseJS-==隐式类型转换.zip

    本文将详细探讨“前端面试题之baseJS-==隐式类型转换”这一主题,帮助你掌握JavaScript中的类型转换规则,以便在面试中能够自信地解答相关问题。 在JavaScript中,“==”双等号运算符用于比较两个值是否相等。然而...

    Vue中通过<script></script>引入的Vue.js文件

    &lt;script src="./js/vue%20(1).js" type="text/javascript" charset="UTF-8"&gt; src里面的内容根据自己的下载的Vue.js的文件位置决定的,我这里只是拿我自己做的举个例子。这个地方的vue.js是因为我下载了两次这个版本...

    ie_png.js---实现ie6中css调用的png图片透明

    &lt;script type="text/javascript" src="image/ie_png.js"&gt; &lt;script type="text/javascript"&gt; ie_png.fix('.png, .menu ul li a span'); // 第二个参数为含有png的标签id(css) ie_png.fix('.png, .logo span');...

    基于microsoftTranslator实现js中英文转换

    在这个项目中,我们将深入探讨如何利用Microsoft Translator API在JavaScript中实现实时的中英文切换功能。 首先,你需要注册一个Azure账户并创建一个新的服务主体,以便获取Microsoft Azure Cognitive Services的...

    浅谈JS中的!=、== 、!==、===的用法和区别

    在JavaScript中,`!=`、`==`、`!==`和`===`是四个非常重要的比较运算符,它们用于比较变量或表达式的值。理解它们的用法和区别对于编写健壮的JavaScript代码至关重要。 首先,`==`是等同运算符,它允许不同类型的值...

    EXT中要用到的js包css包和images包

    EXT中要用到的js包css包和images包 在jsp页面中导入&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; &lt;link rel="stylesheet" href="css/ext-all.css" type="text/css" /&gt; &lt;script language=...

    JS中==、===你分清楚了吗

    在JavaScript中,`==` 和 `===` 是两种不同的相等运算符,它们在比较时有不同的行为和规则。首先,我们需要明确的是,`=` 是赋值运算符,用于将值赋给变量,而 `==` 和 `===` 是用于比较的。 `==` 相等运算符: 1. ...

    简略说明Javascript中的= =(等于)与= = =(全等于)区别

    在JavaScript中,`=`、`==` 和 `===` 是三种不同的比较运算符,它们用于判断两个值是否相等。理解这些运算符的区别对于编写精确的JavaScript代码至关重要。 首先,`=` 是赋值运算符,它将右侧的值赋给左侧的变量,...

    ArcGis-for-javaScript最全中文API.docx

    ArcGIS for JavaScript API ArcGIS for JavaScript API 是一款功能强大且灵活的 API,用于...通过学习和使用 ArcGIS for JavaScript API,开发者可以快速构建功能强大的 GIS 应用程序,以满足不同的需求和应用场景。

    js实现指定用户名和密码登录

    实际应用中,这些信息通常会存储在服务器端,而不是硬编码在客户端的JavaScript中,以增加安全性。 在登录过程中,用户输入的信息会被获取并进行比较。如果输入的用户名和密码与预设值匹配,那么页面将重定向到`...

    js数组说明大全

    JavaScript 中的数组是一种基本数据类型,用于存储一组相关的数据。数组可以存储各种类型的数据,包括数字、字符串、对象等。数组的使用非常广泛,以下是对 JavaScript 数组的详细说明。 一、创建数组 JavaScript ...

    JS大全(JavaScript)

    JS代码也可以在外部文件中,例如: `&lt;script src="jsfile.js" type="text/javascript"&gt;&lt;/script&gt;`。 JS数据类型 JS中有六种基本数据类型:String、Number、Boolean、Null、Undefined、Object。JS也支持函数和数组...

    domino xpages开发 引用JS和CSS

    在Domino XPages开发中,引用JavaScript(JS)和 Cascading Style Sheets(CSS)是构建交互式和美观用户界面的关键步骤。以下是如何在XPages环境中有效地引用这些资源的详细说明。 1) 直接在代码中引用: 这种方法...

    JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

    在JavaScript中,中文字符是Unicode编码,可以通过`charCodeAt()`方法获取每个字符的Unicode值。但是,直接使用这个方法无法得到对应的拼音,因为它返回的是数字而非汉字的拼音表示。 为了将中文字符转换为拼音,...

    JavaScript的==运算详解

    本文将深入探讨JavaScript中的==运算符,通过详细的说明和示例图解,帮助你更好地理解和掌握这一运算符。 ==运算符是JavaScript中的比较运算符之一,它用于比较两个值是否相等。在JavaScript中,==运算符被称为抽象...

    JS中==与===操作符的比较

    在JavaScript中,`==`和`===`是两种常见的比较操作符,它们在进行值比较时有着不同的行为和规则。理解这两个操作符的区别对于编写精确的JavaScript代码至关重要。 `===`,也被称作严格相等操作符,它执行的是全等...

    Prototype_1.6 JavaScript代码和中文帮助手册

     在prototype.js中,prototype对象是实现面向对象的一个重要机制。  每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一...

Global site tag (gtag.js) - Google Analytics