`
zhanshenny
  • 浏览: 264916 次
  • 性别: 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)中,`==` 和 `===` 是两种常见的比较运算符,它们用于判断两个值是否相等。然而,这两个运算符在处理特殊数据类型时有着显著的差异,这经常会让开发者感到困惑。下面我们将深入探讨这两个运算符的...

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

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

    javascript中的用法与意思

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

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

    <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');...

    基于microsoftTranslator实现js中英文转换

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

    js日历,可以方便的调用

    该文件为JS文件,为客户端程序,在.net中调用格式为: <script language="javascript" type="text/javascript" src="calendar.js"> ………… <input id="Text1" type="text" runat="server" onclick=...

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

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

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

    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中的= =(等于)与= = =(全等于)区别

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

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

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

    js数组说明大全

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

    domino xpages开发 引用JS和CSS

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

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

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

    JavaScript的==运算详解

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

    html中<script type="module">与<script type="text/javascript">互调的例子

    html中<script type="module">的脚本调用<script type="text/javascript">中的脚本。 元素的onClick事件调用<script type="module">的脚本。

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

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

    JavaScript - Fetch.js、JavaScript - jQuery、JavaScript - XHR.js.zip

    Fetch API是现代JavaScript中用于异步数据获取的新标准,它提供了一种更简洁、更易于理解和使用的方式来替代传统的XMLHttpRequest。在`JavaScript - Fetch.js`中,你可能会看到以下核心代码: ```javascript ...

    JS省市地区联动控件

    <script src="myJSFrame.js" type="text/javascript" language="javascript"> <script src="area.js" type="text/javascript" language="javascript"> var area = new AreaCtrl("省份:","城市:","地区:"); ...

    动态显示当前时间的js

    首先,我们需要理解JavaScript中的Date对象。Date对象是JavaScript内置的对象之一,它允许我们处理日期和时间。要获取当前时间,我们可以创建一个新的Date实例,如`var now = new Date();`这行代码会创建一个表示...

Global site tag (gtag.js) - Google Analytics