你可以这样测试一下: <script> String.prototype.valueOf = function(){alert('bingo');return parseInt(a);} var a = new String("123abc"); alert(++a);//124 alert(a-0);//NaN124 </script>
<script> var a = new Object(); alert(++a);//NaN alert(a-0);//NaN a.toString = function(){alert('bingo');return "123abc";} a.valueOf = function(){alert('bingo');return parseInt(a);} </script>