我想为 Number 类修改 toString()方法,为何总是不成功呢?  <script type="text/javascript">
Number.prototype.toString=function(){
return ( "编码:" +this.toString());
}
var a=90;
alert(a.toString());
  </script>

解决方案 »

  1.   

    你没搞明白prototype的作用:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
     <script type="text/javascript">
        Number.prototype.toNewString=function(){
            return ( "编码:"    +this.toString());    }
        var a=new Number(90);

        alert(a.toNewString());

      </script></body>
    </html>
      

  2.   

    其实楼主重写toString方法也是可以的,如下:  Number.prototype.toString = function(){
          return "编码:" + this;
     }        var a = 90;
            alert(a.toString());
    关键是楼主在函数中又用了this.toString(); 这里的toString其实已经是楼主自己定义的方法了(也就是该方法本身),这样不就成了无限次调用toString方法了,直到堆栈溢出。
    楼主可以看下浏览器报的错误是  Stack overflow...