function test(a){ a == 1 && a== 2 && a == 3 && console.log('all true') }
此题涉及到引用类型 关羽这知识点建议百度或者看《你不知道的JavaScript》
第一种解题思路是用Object.definedprotype这里不多介绍
第二种涉及到valueOf()
let a = { i = 1, valueOf: () => { a.i++ } }
test(a) // 'all true'
查阅某资料有说到== 底层会执行到valueOf()。所以在valueOf()里面自增++
==是比引用类型,===先判断类型再转成字符串对比