a == 1 && a==2 && a==4 && a==8 表达式成立a=?

== 比较规则

let a = {
    n:0,
    valueOf: function(){
        return  Math.pow(2,this.n++)
    }
}
if(a == 1 && a==2 && a==4 && a==8){
    console.log('成功了');
}else {
    console.log('失败了')
}

复杂类型 ==比较时 会先使用valueOf 进行转换为原始数据类型 如果转换失败 会再次调用toString转换

posted @ 2023-05-19 14:57  清风~~徐来  阅读(32)  评论(0编辑  收藏  举报