首页 > 软件操作教程 > 编程开发 > JavaScript
题目内容

JavaScript 相等和全等

题目答案

■知识点

等值检测运算符包括4个,详细说明如表所示。

比较运算符

==(相等)

比较两个操作数的值是否相等

!=(不相等)

比较两个操作数的值是否不相等

===(全等)

比较两个操作数的值是否相等,同时检测它们的类型是否相等

!==(不全等)

比较两个操作数的值是否不相等,同时检测它们的类型是否不相等

在相等运算中,应注意以下几个问题。

    如果操作数是布尔值,则先转换为数值,其中false转为0, true转换为1。

    如果一个操作数是字符串,另一个操作数是数字,则先尝试把字符串转换为数字。

    如果一个操作数是字符串,另一个操作数是对象,则先尝试把对象转换为字符串。

    如果一个操作数是数字,另一个操作数是对象,则先尝试把对象转换为数字。

    如果两个操作数都是对象,则比较引用地址。如果引用地址相同,则相等,否则不等。

在全等运算中,应注意以下几个问题。

    如果两个操作数都是简单的值,则只要值相等,类型相同,就全等。

    如果一个操作数是简单的值,另一个操作数是复合型对象,则不全等。

    如果两个操作数都是复合型对象,则比较引用地址是否相同。

■实例设计

下面是特殊操作数的比较。

console.log("1" == 1)                   //返回true。字符串被转换为数字

console.log(true == 1)                 //返回true。true被转换为1

console.log(false == 0)                //返回true。false被转换为0

console.log(null == 0)                 //返回false

console.log(undefined == 0)       //返回false

console.log(undefined == null)    //返回true

console.log(NaN == "NaN")         //返回false

console.log(NaN == 1)                 //返回false

console.log(NaN == NaN)            //返回false

console.log(NaN != NaN)             //返回true

提示:

NSN与任何值都不相等,包括它自己。mull和undefined值相等。在相等比轻中,null和undefined不允许被转换为其他类型的值。

下面是特殊操作数的全等比较。

console.log(null === undefined)      //返回false

console.log(0 === "0")                     //返回false

console.log(0 === false)                  //返回false)

下面是两个对象的比较,由于它们都引用了相同的地址,所以返回true。

var a = {};

var b = a;

console.log(a === b);                //返回true

下面两个对象虽然结构相同,但是地址不同,所以不全等。

var a = {};

var b = {};

console.log(a === b);                //返回false


网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端