热门
最新
红包
立Flag
投票
同城
我的
发布
xindoo
6 年前
truexindoo
左青龙,右白虎。
下一条:
图1,2 == 3不会有这种问题,因为2和3都是数字基本类型值,不会调用Number.prototype.valueOf()方法。而Number(2)涉及ToPrimitive强制类型转换,因此会调用valueOf()。图2,你也许觉得这不可能,因为a不会同时等于2和3。但“同时”一词并不准确,因为a ==2在a == 3之前执行。如果让a.valueOf()每次调用都产生副作用,比如第一次返回2,第二次返回3,就会出现这样的情况。这实现起来很简单,如图3。
立即登录