Javascript--等性运算符
2009-12-24 13:09
246 查看
判断两个变量是否相等是程序设计中非常重要的运算,若是对原始值进行运算,则比较简单,但涉及到对象,则有点复杂.
结果:
2.全等号和非全等号
全等号由===表示.只有在无需类型转换运算数的情况下,才返回true.
非全等号由!==表示.
例子,前提代码:
结果:
ECMAScript提供了两套运算符处理这个问题:
等号和非等号处理原始值 全等号和非全等号处理对象
1.等号和非等号等号和非等号处理原始值 全等号和非全等号处理对象
等号由==表示.当且仅当两个运算数相等时,才返回true.
非等号由!=表示.当且仅当两个运算数不相等时,它返回false.
为了确定运算数是否相等,这两个运算符都会进行类型转换.类型转换基本规则如下:
如果一个运算数是Boolean值,在检查相等性之前,会把它转换成数字值.true转换为1,false转换为0. 如果一个运算数是数字,另一个运算数是字符串,则尝试将字符串转换为数字. 如果一个运算数是数字,另一个运算数是对象,则尝试将对象转换为数字. 如果一个运算数是字符串,另一个运算数是对象,则尝试将对象转换为字符串. 不能将null和undefined转换成其他类型值.
非等号由!=表示.当且仅当两个运算数不相等时,它返回false.
为了确定运算数是否相等,这两个运算符都会进行类型转换.类型转换基本规则如下:
如果一个运算数是Boolean值,在检查相等性之前,会把它转换成数字值.true转换为1,false转换为0. 如果一个运算数是数字,另一个运算数是字符串,则尝试将字符串转换为数字. 如果一个运算数是数字,另一个运算数是对象,则尝试将对象转换为数字. 如果一个运算数是字符串,另一个运算数是对象,则尝试将对象转换为字符串. 不能将null和undefined转换成其他类型值.
运算符在进行比较时,遵循以下规则:
值null与undefined相等 如果某个运算数是NaN,等号返回false,非等号返回true.即使两个运算数都是NaN,等号仍返回false 如果两个运算数都是对象,则比较的是它们的引用值.
值null与undefined相等 如果某个运算数是NaN,等号返回false,非等号返回true.即使两个运算数都是NaN,等号仍返回false 如果两个运算数都是对象,则比较的是它们的引用值.
对一些特殊值进行比较,前提代码:
function display(value){ document.write(value+"<br/>"); } var obj1 = new Object(); var obj2 = new Object(); var obj3 = obj1;
结果:
比较式 | 结果 |
1=="1" | true |
1==false | false |
1==true | true |
2==true | false |
null==undefined | true |
1==NaN | false |
NaN==NaN | false |
NaN!=NaN | true |
obj1==obj2 | false |
obj1==obj3 | true |
2.全等号和非全等号
全等号由===表示.只有在无需类型转换运算数的情况下,才返回true.
非全等号由!==表示.
例子,前提代码:
function display(value){ document.write(value+"<br/>"); } var obj1 = new Object(); var obj2 = new Object(); var obj3 = obj1;
结果:
比较式 | 结果 |
1==="1" | false |
1===false | false |
1===true | false |
2===true | false |
null===undefined | false |
1===NaN | false |
NaN===NaN | false |
NaN!==NaN | true |
obj1===obj2 | false |
obj1===obj3 | true |
相关文章推荐
- Javascript之delete运算符
- javascript之运算符下篇(四)
- javaScript基础(五)之js的运算符
- 【javascript基础】之【delete 运算符】
- JavaScript之数据类型转换——隐式转换与运算符
- 详解JavaScript的表达式与运算符
- JavaScript 入门·JavaScript 具有全范围的运算符
- JavaScript instanceof 运算符深入剖析
- JavaScript基础——使用运算符
- 你真得懂Javascript中的==等于运算符吗?
- JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
- Javascript常用运算符(Operators)-javascript基础教程
- javaScript 运算符 && 和 || 的返回值
- javascript 中的==(相等运算符)与===(等同运算符)比较
- javascript 运算符 技巧
- 第一百节,JavaScript表达式中的运算符
- JavaScript-运算符
- javascript的语法说明,变量和运算符
- JavaScript中运算符规则和隐式类型转换示例详解
- JavaScript算术运算符与表达式 赋值运算符(+,=)