javascript相等运算符与等同运算符详细介绍

==运算符和===运算符用来检测两个值是否相等,它们采用了具有同一特质的两个不同定义。这两个运算符都接受任意类型的运算数,如果两个运算数相等,它们都返回true,否则都返回false,===运算符是等同运算符,它采用严格的同一特质定义检测两个运算数是否完全相同,亲们注意是完全相同哦。==运算符是相等运算符,它采用比较宽松的同一特质定义比较两个运算数是否相等。

这样概念有个基本认识。

下面说下具体判定两个值是相等情况吧。

===运算符两个值比较

1,如果两个值类型不同,它们就不相同

2,如果两个值的类型是数字,而且值相同,那么除非中间有一个或者两个都是(NaN)这种情况它们不是等同,否则它们是等同

3,如果两个值是字符串,而且串中同一个位置上的字符完全相同,那么它们就完全等同,如果字符串的长度或者内容不同,那么它们就不是等同的咯

==运算符两个值比较

1,如果两个值的类型相同,那么就检测它们的等同性。如果两个值完全相同,它们就相等。如果它们不完全相同,它们就不相等了

2,如果两个值的类型不同,它们仍然有可能相等(举几个例子)

1)如果一个值是null,另外一个值是undefined,它们相等

2)如果一个值是数字,另外一个值是字符串,把字符串转换成数字,再用转换后的值比较

3)如果一个值是true,将它转化成1,再进行比较。如果一个值为false,把它转化为0,再进行比较

4)如果一个值是对象,另外一个值是数字或字符串,将对象转换成原始类型的值,再比较。

时间: 2013-11-07

javascript中比较字符串是否相等的方法

网上看了很多,比如==.equals都不行 还是外国网站给力,发现了方法. http://stackoverflow.com/questions/2167602/optimum-way-to-compare-strings-in-javascript用string_a.localeCompare(string_b) 方法去做:它会返回3个值0:字符串相等-1:字符串string_a<string_b.1:字符串string_a>string_b大家以后就可以使用正确的方法比较字符串了.

Javascript学习笔记之相等符号与严格相等符号

Javascript 有两种方法来判断两种值是否相等. 相等符号 相等符号由两个等号组成: == Javascript 是弱类型语言.这就意味着相等符号为了比较两个值将会强制转换类型. 复制代码 代码如下: ""           ==   "0"           // false 0            ==   ""            // true 0            ==   "0"         

Javascript判断对象是否相等实现代码

在做表单页面的时候,想判断2个js对象,是不是所有完全相同.这里是stackoverflow上的解决办法,在这里记录一下. 复制代码 代码如下: Object.prototype.equals = function(x) { var p; for(p in this) { if(typeof(x[p])=='undefined') {return false;} } for(p in this) { if (this[p]) { switch(typeof(this[p])) { case 'o

Javascript中的相等与不等运算

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

JavaScript 更严格的相等 [译]

1.检测NaN 在数学上,任意值x总是与自己相等: x = x 但这条规则并不适用于 === 和 NaN: 复制代码 代码如下: > NaN === NaN false 导致的结果就是,你不能通过使用indexOf方法在一个包含了NaN的数组中找到这个NaN,因为该方法在内部是使用了===来判断一个元素是否和参数中指定的值相等的: 复制代码 代码如下: > [ NaN ].indexOf(NaN) -1 译者注:switch语句同理 复制代码 代码如下: switch (NaN) { case

比较详细的关于javascript 解析json的代码

JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):"'名称/值' 对"之间使用","(逗号)分隔.具体细节参考http://www.json.org/json-zh.html 举个简单的例子: js 代码 复制代码 代码如下: function showJSON()

jquery和javascript的区别(常用方法比较)

jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单.人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能.JavaScript 与JQuery 常用方法比较 1.加载DOM区别 JavaScript: window.onload function first(){ alert('first'); } function second(){ alert('second'); } window.onload = first; window

返回函数的JavaScript函数

几个星期前,我发了一条微博说我喜欢返回函数的函数.很快就出现了几个回复,基本是都是-.什么东东?!对于一个程序员来说,理解返回函数的函数是一个非常重要的技能,使用它你能节省很多代码,让JavaScript更高效,让你进一步理解JavaScript的强大之处.下面是我写的几个简单的例子,我希望通过它你能理解我所表达的意思. 假设你有一个对象,包含有两个子对象,它们都有get方法,这两个方法非常相似,稍有不同: var accessors = { sortable: { get: function(

ASP.NET向Javascript传递变量两种实现方法

方法1: 用一个隐藏控件,把变量的值给隐藏控件,再用Javascript去找隐藏控件的值 window.document.getElementById("隐藏控件的ID").value //这个就可以得到隐藏控件的值 方法2: javascript 中: var value=<%=Num%> Num要是一个属性 如: 复制代码 代码如下: Public String Num { set{...} get{...} } 如果字符变量是字符型像alert()等要这样用alert

JavaScript中的工厂函数(推荐)

在学习jQuery的时候,我们经常会看到"工厂函数"这个概念,那么究竟什么是"工厂函数"呢?我们来看看概念,"所谓工厂函数,就是指这些内建函数都是类对象,当你调用他们时,实际上是创建了一个类实例".意思就是当我调用这个函数,实际上是先利用类创建了一个对象,然后返回这个对象.由于Javascript本身不是严格的面向对象的语言(不包含类),实际上来说,Javascript并没有严格的"工厂函数",但是在Javascript中,我

Web开发之JavaScript

小引 笔者认为web开发包括设计html,javascript,css,以及一种高级语言,比如c#,java等等,本文分为三部分,第一部分为简单介绍javascript,第二部分为理解ECMAscript,最后部分为为javascript基础,所以针对javascript笔者不是很深理解,只能从下面几点对他进行分析,要是不对,请指出,谢谢!主要内容为: 第一部分: javascript 特点 javascript的实现 ECMAScript标准 javascript的发展 第二部分: 关于 EC

JavaScript严格模式详解

一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. 设立"严格模式"的目的,主要有以下几个: a - 消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; b - 消除代码运行的一些不安全之处,保证代码运行的安全: c - 提高编译器效率,增加运行速度: d - 为未来新版本的Javascript做好铺垫. "

跟我学习javascript的严格模式

一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. 设立"严格模式"的目的,主要有以下几个: 消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; 消除代码运行的一些不安全之处,保证代码运行的安全: 提高编译器效率,增加运行速度: 为未来新版本的Javascript做好铺垫. "严格模式"体现了Jav

深入理解javascript严格模式(Strict Mode)

ECMAScript5中引入的严格模式,通过让JavaScript运行环境对一些开发过程中最常见和不易发现的错误做出和当前不同的处理,来让开发者拥有一个"更好"的JavaScript语言.很长一段时间内,由于只有Firefox支持严格模式,我曾对严格模式表示怀疑.但到了今天,所有主流的浏览器都在他们的最新版本中支持了严格模式(包括IE10,Opera12和Android4,IOS5)是时候开始使用严格模式了. 严格模式能起到什么作用? 严格模式为JavaScript引入了很多变化,我把