让a同时等于1,2,3?
var a =[1,2,3]
a.join=a.shift
if(a==1&&a==2&&a==3){
console.log('so cool')
}
原理
1.因为==的时候会调用数组的join方法,而我们把join方法重写了,每次调用的时候是用的shift,从前面删除一个并返回
var a ={
i : 0,
toString:function(){
return ++a.i
}
}
if(a==1&&a==2&&a==3){
console.log('so cool')
}
原理
==的时候会调用toSting 我们重写了a的toString方法,这样每次调用的时候这个对象的i,就自增1并且返回。
网友评论