解法一
const
a
=
{
i
:
1
,
toString
:
function
(
)
{
return
a
.
i
++
;
}
}
if
(
a
==
1
&&
a
==
2
&&
a
==
3
)
{
console
.
log
(
'Hello World!'
)
;
}
解法二
var
aᅠ
=
1
;
var
a
=
2
;
var
ᅠ
a
=
3
;
if
(
aᅠ
==
1
&&
a
==
2
&&ᅠ
a
==
3
)
{
console
.
log
(
"Why hello there!"
)
}
上面利用的是空格实现,主要空格的位置。
解法三
var
val
=
0
;
Object
.
defineProperty
(
window
,
'a'
,
{
get
:
function
(
)
{
return
++
val
;
}
}
)
;
if
(
a
==
1
&&
a
==
2
&&
a
==
3
)
{
console
.
log
(
'yay'
)
;
}
解法四
|
var b=0;
var a={valueOf(){ return b+=1; }} if(a == 1 && a == 2 && a == 3) { console.log('hello') } |
参考文章: http://web.jobbole.com/93874/
3
4
5
6
|
var
a_
=
1
;
var
a
=
2
;
var
_a
=
3
;
if
(
a_
==
1
&&
a
==
2
&&
_a
==
3
)
{
console
.
log
(
"Why hello there!"
)
}
|