关注前端 | 前端博客
当前位置: JavaScript > a==1 && a==2 && a==3 可能为 true 吗?

a==1 && a==2 && a==3 可能为 true 吗?

2020-08-08 分类:JavaScript 作者:管理员 阅读(138)

a==1 && a==2 && a ==3 可以为 true 吗?

JavaScript 的世界里,很神奇,它是可以为 true 的,究其原理,是我们在读取一个变量的时候,会自动调用自身的 valueOf 方法,返回其原始值,因此,我们对这个 a 变量进行改写

1
2
3
4
5
6
7
let a = {
    val:1,
    valueOf(){
        return this.val++
    }
}
console.log(a == 1 && a== 2 && a==3) // true

举一反三:a == 1 && a== 3 && a==5 可以为 true 吗?

答案:当然可以

1
2
3
4
5
6
7
8
9
10
11
12
13
let a = {
    val:1,
    isFirst:true,
    valueOf(){
        if(this.val!=1 || !this.isFirst){
            this.val+=2
        }else{
            this.isFirst = false
        }
        return this.val
    }
}
console.log(a == 1 && a== 3 && a==5) // true

- END -

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(1) 打赏

感谢您让我添加个鸡腿!

支付宝
微信
1

感谢您让我添加个鸡腿!

支付宝
微信
标签:

上一篇:

下一篇:

共有 0 条评论 - a==1 && a==2 && a==3 可能为 true 吗?

博客简介

一个不知名的前端菜鸟,梦想能够飞上青天!
掘金 思否 npm github

精彩评论

服务热线:
 177****6038

 QQ在线交流

 旺旺在线