这些天看到一个面试题,要求写出alert后的结果
代码如下:var a = new Object(); //1
a.toString = function(){return "123abc";}//2
a.valueOf = function(){return parseInt(a);}//3
alert(++a);//4
alert(a-0);//5运行结果输出了2个 124
我在IE8下调时折断代码发现 4被执行的时候先调用了3,然后才调用了2,可是调用2该输出123abc才对,为什么会是124呢?不解,各位帮我看看