`

js中的相等与不等运算

    博客分类:
  • JS
阅读更多

如果其中一个操作数的类型为 Boolean ,那么,首先将它转换为数字类型,false 转换为 0, true 将转换为 1。
如果其中一个操作数的类型是字符串,另外一个为数字类型,那么,将字符串转换为数字进行比较。
如果其中一个操作数的类型是字符串,另外一个为 object 类型,那么,将调用对象的 toString 方法之后,比较字符串。
如果其中一个操作数的类型是数字类型,另外一个为 object 类型,那么,将对象转换为数值后进行数字比较。

以下的规定了一些特殊的比较:


null 和 undefined 是相等的。
null 和 undefined 不会转换为任何其他类型


如果任何一个操作的结果为 NaN,那么相等比较返回 false,不相等比较返回 true。

注意,即使两个操作数都为 NaN,返回结果一样是 false,也就是说,NaN 不等于 NaN。


如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。

alert(null == undefined); // true
alert(undefined == null); // true

alert(true == 1); // true
alert(false == 0); // true
alert(true == 2); // false

var obj = {};
alert(10 == obj); // false

完全相同的比较 === 和不完全相等 !==
完全相同的比较用来比较不进行转换是否相等,例如:

var a = "100";
var b = 100;

alert(a == b); // true
alert(a === b); // false

== 比较将返回真,因为 “100” 首先转换为数字 100, 然后与数字 100 进行比较,结果相等。
=== 比较将返回假,因为字符串 ”100” 不经过转换的话,与数字 100 不相等。

!== 用于比较在不转换的情况下,是否不相等。

alert(a != b); // false
alert(a !== b); // true

第一种情况将返回假,因为转换后是相等的。第二种情况将返回真,因为不经过转换的话,他们一个是字符串,一个是数字,是不相等的。

 

 

 

 

JS 中对象equals方法的实现http://www.blueidea.com/tech/web/2003/1301.asp

 

分享到:
评论

相关推荐

    Javascript中的相等与不等运算

    JavaScript中的相等与不等运算符是编程中非常基础且重要的概念,它们涉及到类型转换以及特定情况下的特殊处理。在JavaScript中,有四个主要的比较运算符:`==`(相等)、`!=`(不等)、`===`(完全相等)和`!==`...

    走前端学js练if语句.rar

    =比较相等与不等,使用>、<、>=和进行大小比较。 2. **逻辑运算**:理解&&(逻辑与)和||(逻辑或)的短路行为。 3. **条件表达式**:使用三元运算符进行条件判断。 4. **嵌套if**:在一个if语句内部再使用if语句。 ...

    Javascript知识架构学习路径(二)运算符篇.docx

    在JavaScript中,运算符大致分为七类:算术运算符、关系运算符、逻辑运算符、位运算符、对象运算符、自加与自减,以及一些特殊运算符。这篇文章将主要关注算术运算符和关系运算符。 **算术运算符** 算术运算符包括...

    JavaScript相等运算符的九条规则示例详解

    JavaScript中的相等运算符主要分为相等运算符(==)和严格相等运算符(===),以及它们对应的不等运算符(!=和!==)。这两个运算符的基本概念虽然相似,但是它们在使用时有着很大的不同。 首先,等号“=”是一个...

    107句JSjavascript常用语句.doc

    = 不等于,>,>=,<,,用于比较两个值是否相等或不等。 13. 声明变量:var,用于声明变量。 14. 判定语句结构:if (condition){} else {},用于判断条件是否满足。 15. 循环结构:for ([initial expression]; ...

    (第4讲)第5章JAVASCRIPT表达式和运算符[借鉴].pdf

    例如,在以下代码中,`n`的值会是`1`,因为`m`被赋值为`1`,`n`在逻辑与运算中左侧,当左侧`m`为`true`时,`n`后面的表达式不会被执行,所以`n`保持初始值。完整代码如下: ```javascript var a = 1, b = 2, c = 3,...

    JS函数集合大全

    根据给定的文件信息,以下是对“JS函数集合大全”的详细解析,涵盖了JavaScript中的关键概念、函数和操作,旨在提供一个全面的JavaScript编程指南。 ### 1. JavaScript基础语法与DOM操作 - **document.write("")**...

    JavaScript教程大全

    =、<、>、、>=):比较两个值是否相等或不等。 - 逻辑运算符(&&、||、!):进行逻辑与、逻辑或和逻辑非运算。 - 条件运算符(? :):三元运算符,用于条件判断。 程序的基本框架结构主要涉及控制流语句: - 条件...

    js学习笔记

    在HTML中,JavaScript通常被嵌入到文档中,或者通过外部文件引用,例如`<script src="xxx.js" language="javascript"></script>`。在执行时,HTML和JavaScript代码是按顺序执行的,JavaScript可以用来检测网络事件、...

    js-107种.txt

    下面将对这些知识点进行详细的解释与扩展。 ### 1. `document.write("");` 输出语句 在JavaScript中,`document.write()` 方法用于向当前文档写文本、HTML 表达式或者 JavaScript 代码。此方法通常在文档加载完成...

    Javascript多种实例

    JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的脚本语言,主要在客户端运行,为用户提供动态交互体验。此压缩包文件“Javascript范例”包含了一系列基础的JavaScript实例,旨在帮助初学者理解和掌握这门...

    前端开源库-karma-should

    它不仅提供了基本的相等和不等判断,还有更复杂的类型检查、对象属性验证等功能,使测试代码更具可读性。 在Karma中使用`karma-should`,首先需要在项目中安装这个插件,可以通过npm命令行工具进行安装: ```bash ...

    java script 应用基础.docx

    在JavaScript中,数学运算、控制结构和其它杂项是编程的基础。 1. 数学相关操作: - 运算符:JavaScript支持基本的加减乘除运算,例如`+`、`-`、`*`、`/`。此外,还有乘方运算`pow(a, b)`,用于计算a的b次方;...

    前端开源库-indeed

    "前端开源库-indeed" 是一个专注于前端开发的开源工具库,特别提及的是它与Node.js中的布尔助手功能有关。在前端开发中,开源库是开发者的重要资源,它们提供了预构建的功能,可以帮助我们快速、高效地开发网页应用...

    基于代数方程库Algebra.js解二元一次方程功能示例

    总的来说,通过Algebra.js,开发者可以轻松地在JavaScript环境中实现代数计算,这对于教育、数据分析或者需要数学运算的Web应用来说,是非常有价值的工具。学习和掌握如何利用这样的库可以提升开发效率,同时提供更...

    2024最新JavaScript教程(包你学会)

    - **大小写敏感性**: JavaScript 是大小写敏感的,这意味着 `Variable` 与 `variable` 在 JavaScript 中被视为两个不同的标识符。 - **Unicode转义序列**: JavaScript 支持 Unicode 转义序列,例如 `'café'` 和 `'...

    燕十八jquery手记

    =`、严格相等 `===`、严格不等 `!==`。 - 逻辑运算符: 如逻辑与 `&&`、逻辑或 `||`。 - 字符串连接: 在JavaScript中,使用 `+` 运算符连接字符串。当进行混合运算时,一旦遇到字符串就会转为字符串连接模式。 - **...

    107个常用javascript语句

    =,>,>=,<,是比较运算符,用于比较两个值之间的关系,如相等、不等、大于、小于等。 ### 13. 变量声明 `var` 关键字用于声明变量,它是JavaScript中最基础的变量定义方式之一。 ### 14. 条件语句 `if(condition){}...

Global site tag (gtag.js) - Google Analytics