自定義?toString(或者?valueOf)方法,每次調(diào)用改變一次返回值蒲凶,從而滿(mǎn)足判斷條件。
const a= { i : 1,
? ? ? ? ? ? ? ? ?toString : function() {
? ? ? ? ? ? ? ? ? ? ? returna.i++;?
? ? ? ? ? ? ? }
? }
if (a==1&&a==2&&a==3) {
? ? console.log('Hello World!');
}
當(dāng)使用 == 時(shí)旋圆,如果兩個(gè)參數(shù)的類(lèi)型不一樣宠默,那么 JS 會(huì)嘗試將其中一個(gè)的類(lèi)型轉(zhuǎn)換為和另一個(gè)相同灵巧。在這里左邊對(duì)象,右邊數(shù)字的情況下刻肄,會(huì)首先嘗試調(diào)用 valueOf(如果可以調(diào)用的話(huà))來(lái)將對(duì)象轉(zhuǎn)換為數(shù)字颜懊,如果失敗诫舅,再調(diào)用 toString。