javaScript中两个等于号和三个等于号之间的区别
一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。
===表示恒等于,比较的两边要绝对的相同
alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false
先说 ===,这个比较简单,具体比较规则如下:
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、任何其他组合(array数组等),都[不相等]。
分享到:
相关推荐
在JavaScript中,了解"=="和"==="的区别是至关重要的,它们是两种不同的比较操作符,用于检查两个值是否相等。下面将详细介绍这两个操作符的特性和使用场景。 首先,"=="被称为等同运算符,它在比较时会进行类型...
javaScript中两个等于号和三个等于号之间的区别 一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。 ===表示恒等于,比较的两边要绝对的相同 alert(0 == “”); // true alert...
在JavaScript编程中,比较运算符用于比较两个值是否相等。其中,最常用的比较运算符是双等号“==”和三等号“===”。这两个运算符虽然看似相似,但它们在比较值时却有着本质的区别。了解它们的不同用法,对于编写高...
以上就是在JavaScript中两个页面之间传值的常见方法。每种方法都有其适用场景,根据实际需求选择合适的方式。记住,跨域安全问题在使用这些方法时也需要考虑,特别是涉及到`localStorage`和`postMessage`时。在实际...
kettle中使用js计算两个日期之间的天数
要实现C++和JavaScript的数据交互,我们需要利用两个主要的接口:`IDispatch`和`IHtmlDocument2`。`IDispatch`接口允许我们调用对象的属性和方法,而`IHtmlDocument2`接口提供了对HTML文档的访问,使我们能够获取或...
纯Javascript编写的div拖拽以及用鼠标绘制div之间连接线,外部资源仅需要jquery。...4、用鼠标绘制两个节点之间带有箭头的连线 5、连接线随节点移动保持连接状态 6、附带节点鼠标右键弹出自定义菜单代码
总之,“识别两个图像之间的差别并创建不同部分图像”是一个涵盖JavaScript编程、图像处理和差异检测技术的综合性问题。通过学习和实践,开发者可以掌握这一技术,并将其应用于各种创新的项目中。
在压缩包"Eclipse_Javascript插件"中,可能包含了这两款插件的安装文件。用户只需要将它们解压后导入到Eclipse的工作空间,或者按照Eclipse的插件安装步骤导入对应的更新站点。确保正确安装后,用户就可以享受到js...
两个感叹号的组合实际上是两次逻辑非操作的连续应用。第一次!操作会将非布尔值转换为布尔值,第二次!操作则会反转这个布尔值,从而再次得到一个布尔值。这种机制特别有用,因为它可以确保结果始终是true或false。 ...
在JavaScript编程语言中,比较操作符是比较两个变量或表达式的值并返回一个布尔值(true或false)的运算符。JavaScript中常用的比较操作符包括大于(>)、小于(<)、大于等于(>=)、小于等于()。这些操作符可以...
在"GeoDemo"这个示例中,我们可以看到两个模块,分别展示了数据交互的两个方向。可能包括了C++向JavaScript传递数据,例如传递地理位置信息,让JavaScript绘制地图;以及JavaScript向C++发送请求,比如用户在网页上...
JavaScript还支持原型继承,使得对象之间可以共享属性和方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。 DOM...
这篇文章将详细探讨这两个符号在编程中的区别。 首先,我们要了解的是单个等号(=)。在大多数编程语言中,等号用于赋值操作。例如: ```javascript var a = 5; // 赋值操作,将5赋给变量a ``` 这里的等号表示将...
JavaScript 与 Java 区别没有任何关系,两个公司开发的两个不同的产品,作用与用途大不一样,但两者语法上有很多相似之处,JavaScript 并不是 Java 的子集。 六、JavaScript 代码的位置 我们可以在 3 个地方编写...
标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...
通过分析这两个项目,你可以深入理解 ExternalInterface API 的工作原理,以及如何在实际项目中应用 JavaScript 和 Flash 的交互。这些示例对于学习历史上的 Web 技术和了解技术演变过程非常有价值。 **总结** ...
javascript两个object对比较函数,分单层跟多层比较的
在JavaScript编程中,有时我们需要处理日期和时间,例如计算两个日期之间的时间差或者获取这两个日期时间段内的所有日期。本文将详细介绍一个JavaScript函数`dataScope`,该函数用于计算并返回两个日期之间(包括...
可能有些同学看到这个标题就会产生疑惑,为什么我们要判断JavaScript中的两个变量是否相等,JavaScript不是已经提供了双等号“==”以及三等号“===”给我们使用了吗? 其实,JavaScript虽然给我们提供了相等运算符,...