我想为 Number 类修改 toString()方法,为何总是不成功呢? <script type="text/javascript">
Number.prototype.toString=function(){
return ( "编码:" +this.toString());
}
var a=90;
alert(a.toString());
</script>
Number.prototype.toString=function(){
return ( "编码:" +this.toString());
}
var a=90;
alert(a.toString());
</script>
<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>
return "编码:" + this;
} var a = 90;
alert(a.toString());
关键是楼主在函数中又用了this.toString(); 这里的toString其实已经是楼主自己定义的方法了(也就是该方法本身),这样不就成了无限次调用toString方法了,直到堆栈溢出。
楼主可以看下浏览器报的错误是 Stack overflow...