JavaScript中的操作符和判断规则的介绍
JavaScript中,==与===操作符均可用于判断两个值是否相等;不同之处在于,如果进行判断的两个值类型不一致,===操作符会直接返回false,而==操作符则会在类型转换后再进行判断。详细的判断规则如下:
===操作符的判断规则
1.如果两个值的类型不一致,返回false。
2.如果两个值的类型一致,值一致,返回true。NaN是一个特例,NaN===NaN返回false。
3.如果两个值均为object类型,那么与Java一样,除非两者引用一致(reference指向同一个对象地址),不然即使object中的内容完全一样,也认为这两个值不一致,相应的操作将返回false。比如,新建两个内容完全一样的.数组,对它们进行===操作后返回结果为false — 虽然它们的内容完全一样,但还是属于两个不同的对象。
4.0===-0返回true。
==操作符的判断规则
==操作符会将值进行类型转换后再进行比较,其类型转换遵循以下原则:优先转换成number后进行比较,Date对象则优先转换成string后进行比较。具体判断规则如下:
1.如果两个值类型一致,执行===操作后返回。
==undefined为true。
将转换成1后进行比较,false将转换成0后进行比较。
4.如果其中一个值为对象,则将其转换成number后再进行比较,Date对象除外。
5.如果其中一个值为Date对象,则将其转换成string后再进行比较。
实验
复制代码 代码如下:
("3" === 3);//false
(NaN === NaN);//false
var a = {x:1, y:2};
var b = {x:1, y:2};
var c = a;
(a === b);//false
(a === c);//true
(0 === -0);//true
("3" == 3);//true
(null == undefined);//true
(true == 1);//true
(true == 9);//false
([9] == 9);//true
([9] == "9");//true
var d = new Date();
var s = ring();
var n = eOf();
(d == s);//true
(d == n);//false
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
asp.net 操作INI文件读写类实例代码
操作INI文件读写类实例代码复制代码代码如下:usingSystem;usingropServices;using;using;namespaceCommon{//////INI文件读写类。///publicclassINIFile{publicstringpath;publicINIFile(stringINIPath){path=INIPath;}[DllImport("kernel32")]privatestaticex...
-
网页设计黄金配色原则是什么
身为网页设计新手的你,是不是还在纠结于你制作的网页找不到一组完美的配色方案?在本教程中我们将与你分享6条肯定会火,并且“错不了”的指导方针,你可以按照这些原则把握最基本的色彩规律。现在我们分享的这些原则都不是规则,你会在你的职业生涯中创造出更多的配色...
-
python批量生成本地ip地址的方法是什么
python批量生成本地ip地址的方法是什么呢?本文实例讲述了python批量生成本地ip地址的方法。分享给大家供大家参考。具体分析如下:...