- 浏览: 1116351 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
一、Comparison Overview
1. Speed Compare(运行速度比较):
=== will never be slower than ==.
They both do type checking, so === doesn't do anything extra compared to ==,
but the type check may allow === to exit sooner when types are not the same.
2. How do they work(它们是如何工作的?):
=== :
compare both type and value
== :
only compare value.
if there are different types, then convert the value.
Example:
Exception:
二、How they work?
1、How "===" compare values?
"Type Checking" is the first step !
11.9.6 The Strict Equality Comparison Algorithm
The comparison x === y, where x and y are values, produces true or false. Such a comparison is performed as follows:
1. If Type(x) is different from Type(y), return false.
2. If Type(x) is Undefined, return true.
3. If Type(x) is Null, return true.
4. If Type(x) is not Number, go to step 11.
5. If x is NaN, return false.
6. If y is NaN, return false.
7. If x is the same number value as y, return true.
8. If x is +0 and y is −0, return true.
9. If x is −0 and y is +0, return true.
10. Return false.
11. If Type(x) is String, then return true if x and y are exactly the same sequence of characters (same length and same characters in corresponding positions); otherwise, return false.
12. If Type(x) is Boolean, return true if x and y are both true or both false; otherwise, return false.
13. Return true if x and y refer to the same object or if they refer to objects joined to each other (see 13.1.2). Otherwise, return false.
http://stackoverflow.com/a/1813267/2893073
2. When use "==", how is the converstion?(不同类型的值如何转换?)
三. Summary(总结)
Always use 3 equals unless you have a good reason to use 2.
Reference:
http://stackoverflow.com/questions/359494/does-it-matter-which-equals-operator-vs-i-use-in-javascript-comparisons
http://dorey.github.io/JavaScript-Equality-Table/
-
1. Speed Compare(运行速度比较):
=== will never be slower than ==.
They both do type checking, so === doesn't do anything extra compared to ==,
but the type check may allow === to exit sooner when types are not the same.
2. How do they work(它们是如何工作的?):
=== :
compare both type and value
== :
only compare value.
if there are different types, then convert the value.
Example:
if(true == 1); //true, because 'true' is converted to 1 and then compared if(true === 1); // false if("4" == 4); //true, because "4" is converted to 4 and then compared if("4" === 4); // false if(true == 2); //false, because 'true' is converted to 1
Exception:
var a = new String("abc"); var b = "abc"; if(a==b); // true if(a===b); // false, because typeof a is object, type of b is String
二、How they work?
1、How "===" compare values?
"Type Checking" is the first step !
引用
11.9.6 The Strict Equality Comparison Algorithm
The comparison x === y, where x and y are values, produces true or false. Such a comparison is performed as follows:
1. If Type(x) is different from Type(y), return false.
2. If Type(x) is Undefined, return true.
3. If Type(x) is Null, return true.
4. If Type(x) is not Number, go to step 11.
5. If x is NaN, return false.
6. If y is NaN, return false.
7. If x is the same number value as y, return true.
8. If x is +0 and y is −0, return true.
9. If x is −0 and y is +0, return true.
10. Return false.
11. If Type(x) is String, then return true if x and y are exactly the same sequence of characters (same length and same characters in corresponding positions); otherwise, return false.
12. If Type(x) is Boolean, return true if x and y are both true or both false; otherwise, return false.
13. Return true if x and y refer to the same object or if they refer to objects joined to each other (see 13.1.2). Otherwise, return false.
http://stackoverflow.com/a/1813267/2893073
2. When use "==", how is the converstion?(不同类型的值如何转换?)
三. Summary(总结)
Always use 3 equals unless you have a good reason to use 2.
Reference:
http://stackoverflow.com/questions/359494/does-it-matter-which-equals-operator-vs-i-use-in-javascript-comparisons
http://dorey.github.io/JavaScript-Equality-Table/
-
发表评论
-
Javascript 测试框架之 隐式声明 之 describe
2019-06-25 15:26 2625为什么使用 javascript 测试框架时,没有显式导入 d ... -
JavaScript之ECMAScript6新特性之_03_箭头函数(Arrow Function)
2018-01-25 13:46 1125一、简介 箭头函数(Arrow Function)是 ES6 ... -
JavaScript之ECMAScript6新特性之_02_线程异步阻塞: Promise, Async / await
2018-01-12 16:51 2333刚出来不久的 ES8 包含了 async 函数,它的出现,终于 ... -
JavaScript之ECMAScript6新特性之_01_开篇
2017-08-17 02:54 608点此查看全部: http://es6-features.org ... -
jQuery Versions - browser support
2017-08-12 04:19 1637jQuery 3.2.1 Support Deskto ... -
基于HTML5实现的中国象棋游戏
2017-06-24 02:24 1696HTML5实现中国象棋游戏 http://www.w2bc.c ... -
JavaScript之跨域请求解决方案
2017-06-07 11:03 3994浏览器处于安全原因,在使用 Ajax 进行请求访问时,不允许跨 ... -
JavaScript之 25 道面试题
2017-04-17 17:05 96025 Essential JavaScript Intervi ... -
JavaScript小应用之分页算法
2017-03-16 12:56 674效果图: function getPagina ... -
jQuery之empty() VS. remove()
2017-03-16 10:32 731jQuery empty() vs remove() Wh ... -
jQuery之 prop() VS. attr()
2017-03-14 16:43 664attr() 用于自定义属性,id ; prop() 用于 ... -
jQuery之mouseover,mouseover,mouseout,mouseleave
2017-03-14 10:20 665Jquery mouseenter() vs mouseove ... -
javascript之JS操作iframe
2017-02-28 14:56 2198JS操作iframe 1. 获得iframe的w ... -
javascript之面向对象编程之原型继承
2017-01-02 15:34 1151前文讲到“属性继承” ... -
HTML5之Cookie,localStorage 与 sessionStorage
2016-12-22 18:35 851详说 Cookie, LocalStorage 与 ... -
jquery之live(), delegate(), on() 方法
2016-11-26 23:48 938通过下面的一个实例理解 jQuery 的 live(), de ... -
javascript之小应用:网页在线聊天
2016-11-08 11:48 4334概览 这款使用 PHP 和 javascript 搭建的 ... -
javascript之编程序题目
2016-11-06 17:30 10571. 判断两个字符串是否:字母相同切长度相同(空格不算)。 ... -
javascript之面向对象编程之属性继承
2016-10-23 21:09 926函数继承可以分为两种:1、继承其 this 属性 2、继承其 ... -
javascript 之 undefined
2016-08-12 11:01 717一、用法 undefined 关键字有两种用法: 1. 如 ...
相关推荐
第8章javascript介绍=创新教育基础与实践=大连理工大学.pptx
在Web开发中,`<script>`标签是HTML文档中用于嵌入或引用JavaScript代码的关键元素之一。它允许开发者直接在HTML文档内部编写脚本代码或者通过`src`属性链接到外部JavaScript文件。在早期的HTML版本中,`<script>`...
==运算符是JavaScript中的比较运算符之一,它用于比较两个值是否相等。在JavaScript中,==运算符被称为抽象等式比较算法(The Abstract Equality Comparison Algorithm),它涉及多种类型转换和比较规则。根据...
JavaScript,作为全球最广泛使用的脚本语言之一,是构建网页动态功能和交互效果的基础。这个“JavaScript小技巧全集”提供了丰富的教程和源代码,旨在帮助开发者深入理解和掌握JavaScript的各种实用技巧。 首先,...
JavaScript是一种弱类型语言,它的变量在声明时不需要指定数据类型,而类型检查是在运行时进行的。在JavaScript中,比较运算符用来比较两个值,并返回一个表示比较结果的布尔值。比较运算符分为两种:“==”和“===...
根据给定文件的信息,我们可以总结出以下关于JavaScript的相关知识点: ### 一、基本概念与语法 **1. 输出文本** JavaScript 提供了多种输出文本的方法,例如 `document.write`。在给定的内容中,可以看到一个...
### JavaScript 弹出窗口知识点详解 #### 一、基本概念 **JavaScript** 是一种轻量级的编程语言,常用于网页交互式的实现。通过 **JavaScript** 可以控制浏览器的行为,比如创建弹出窗口。 #### 二、创建弹出窗口...
### JavaScript面向对象进阶知识点详解 #### 8.1 面向对象编程的基本特性 在探讨面向对象的JavaScript之前,我们首先需要了解面向对象编程(Object-Oriented Programming, OOP)的基本特性:封装性、抽象性、继承...
JavaScript 技巧大全 JavaScript 是一种广泛应用于 Web 开发中的脚本语言,下面是常用的 JavaScript 案例大全,包括原生 JavaScript 实现字符串长度截取、获取域名主机、清除空格、替换全部、转义 HTML 标签、还原 ...
### JavaScript函数大全Word版知识点详解 #### 一、概述 《JavaScript函数大全Word版》是一份详尽的JavaScript基础知识及函数应用指南。该文档通过列举常见的JavaScript语法特性、内置对象和函数,帮助开发者快速...
浏览器是JavaScript运行的重要环境之一,了解其内部结构对于理解JavaScript的执行机制至关重要。 1. **Shell**:浏览器的用户界面部分。 2. **内核**: - **渲染引擎**:负责解析HTML和CSS,并将其渲染成可视化的...
在JavaScript中,`=`、`==` 和 `===` 是三种不同的比较运算符,它们用于判断两个值是否相等。理解这些运算符的区别对于编写精确的JavaScript代码至关重要。 首先,`=` 是赋值运算符,它将右侧的值赋给左侧的变量,...
"javascript连接Oracle实例" 在本文中,我们将讨论如何使用JavaScript连接Oracle实例。 标题解释 JavaScript是一种广泛使用的客户端脚本语言,而Oracle则是一种流行的关系数据库管理系统。在实际应用中,我们经常...
JavaScript是一种强大的客户端脚本语言,广泛应用于Web开发中,用于创建动态、交互性强的网页。在本文中,我们将深入探讨如何使用JavaScript来增强网站的用户体验,以实现更丰富的交互效果。 一、事件处理 ...
### JavaScript循环应用实例详解 #### 1. 输入n个数字,输入0结束,输出这n个数字的平均值,最大值和最小值 为了实现这一功能,我们需要使用一个循环来不断接收用户输入,并且需要使用变量来跟踪这些输入的总数、...
相比之下,`===` 是严格相等运算符。它不仅检查值的相等性,还检查类型的一致性。只有当两个操作数的值和类型都完全相同,`===` 才会返回 `true`。例如: ```javascript 0 === "" // false,因为它们类型不同 null ...
JavaScript,是一种广泛应用于Web开发的轻量级脚本语言,主要负责客户端的动态交互。它在网页中的应用无处不在,从简单的表单验证到复杂的前端应用,都是JavaScript的用武之地。这份“JavaScript参考手册集合chm版...
### JavaScript方法和技巧详解 #### 一、基本概念与语法结构 **JavaScript**是一种轻量级的编程语言,被广泛应用于网页开发中,用于增强网页的交互性与动态效果。以下是一些基本的语法和使用技巧。 ##### 1. 嵌入...
JavaScript 实现页面打印 本文将介绍使用 JavaScript 实现页面打印的方法,并提供相关的代码示例。 一、使用 ExecWB() 函数实现打印 ExecWB() 函数是 IE 浏览器提供的一个函数,可以用来调用 IE 菜单下的打印命令...
在JavaScript中,ArrayList是一种常见的数据结构,它模拟了Java中的ArrayList功能,允许程序员进行动态数组操作。虽然JavaScript原生不支持ArrayList,但我们可以利用数组(Array)对象来实现类似的功能。下面将详细...