`
zhanshenny
  • 浏览: 264443 次
  • 性别: 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技术网站
分享到:
评论

相关推荐

    前端面试题之baseJS-==和===的区别.zip

    此外,了解JavaScript中的其他比较运算符,如“!=”(不等于)、“!==”(不全等)、“<”、“>”、“<=”和“>=”也是很重要的。 在实际项目中,前端开发者还需要关注其他JavaScript基础知识,如变量声明(var、...

    JavaScript中三个等号和两个等号的区别(== 和 ===)浅析

    双等号“==”是JavaScript中的相等运算符,它用于比较两个值是否在逻辑上相等,但可能会发生类型转换。当使用“==”运算符比较两个不同类型的值时,JavaScript会尝试进行类型转换,以便将一个值转换为另一个值的类型...

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

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

    基于js disabled="false"不起作用的解决办法

    在JavaScript中,可以通过DOM的属性来控制表单元素的disabled状态,从而使得某个输入框、按钮等元素不可访问或可访问。 当需要禁用某个HTML表单元素时,通常的代码是使用element.disabled = true。相对应的,如果想...

    详解js中==与===的区别

    首先,需要明确的是,JavaScript是一种动态类型语言,这意味着在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代码至关重要。 首先,`==`是等同运算符,它允许不同类型的值...

    JS判断大全

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍JavaScript中常见的验证与判断方法。这些技术在前端开发中非常实用,可以帮助开发者确保用户输入符合预期格式。 ### 1. 字符串长度限制 #### 1.1 JS...

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

    ### JS中==与===操作符的比较 在JavaScript(简称JS)编程中,经常会遇到需要比较两个变量或值是否相等的情况。为了处理这些比较需求,JavaScript提供了两种基本的等值比较操作符:`==`(松散等于)和`===`(严格...

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

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

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

    实际应用中,这些信息通常会存储在服务器端,而不是硬编码在客户端的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中,==运算符被称为抽象...

    JSP中js传递和解析URL参数以及中文转码和解码问题.docx

    在JavaScript中,可以通过`encodeURI`或`encodeURIComponent`进行编码,而使用`decodeURI`或`decodeURIComponent`进行解码。 - **编码**: ```javascript var encodedChinese = encodeURIComponent('中文'); ...

Global site tag (gtag.js) - Google Analytics