关于相等运算符“==”基本用法介绍

446 ℃

关于相等运算符“==”用法,网上流传出了一些比较有意思的面试题,下面web建站小编给大家总结一下!

案例一:

console.log([] == 0); //true 
// 分析:(1) [].valueOf().toString() == 0  (2) Number('') == 0  (3) false == 0  (4) 0 == 0

console.log(![] == 0); //true
// 分析: 逻辑非优先级高于关系运算符 ![] = false (空数组转布尔值得到true)

console.log([] == []); //false
// [] 与右边逻辑非表达式结果比较
//(1) [] == !Boolean([])   (2) [] == !true  (3)[] == false  (4) [].toString() == false  (5)'' == false   (6)Number('0') == Number(false)

console.log([] == ![]); //true

console.log({} == {}); //false
// {} 与右边逻辑非表达式结果比较
//(1){} == !{} (2){} == !true  (3){} == false  (4){}.toString() == false  (5)'[object Object]' == false  (6)Number('[object Object]') == false

console.log({} == !{}); //false

案例二:

var  a = ???
if(a == 1 && a == 2 && a == 3 ){
  console.log(1)
}
 
//如何完善a,使其正确打印1

//答案

var a = {
  i : 0,    //声明一个属性i
    valueOf:function ( ) {
     return ++a.i;    //每调用一次,让对象a的i属性自增一次并且返回
    }
}
if (a == 1 && a == 2 && a == 3){  //每一次运算时都会调用一次a的valueOf()方法
  console.log ( "1" );
}

js全等运算符和相等运算符输出的结果有什么不同

浅谈相等运算符的一些面试题

标签: 相等运算符

上面是“关于相等运算符“==”基本用法介绍”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_3285.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

js把对象转换成数组(去空值),并按对象长度排序
Android开发:app里面的语音播放功能实现代码介绍
千月影视
wordpress如何获取当前页面的标题(分类)
php语法如何快速实现排序的非递归算法