读书人

String.prototype的有关问题.

发布时间: 2012-02-11 09:51:35 作者: rapoo

String.prototype的问题...
String.prototype.a =function(){
alert(this);
}
var v = ' <div> bbb </div> ';
v.a();

这样可以正常调用,但以下却不行:
String.prototype = {
a : function(){
alert(this);
}
}
var v = ' <div> bbb </div> ';
v.a();

为什么?

[解决办法]
有这样的写法么
[解决办法]
都是 prototype.js 这个东东惹的祸,严格来讲你第二种写法是错误的写法,String.prototype 已经是一个内建的对象了,你只需对它进行属性扩充即可,而你对它进行了赋值且你赋的还是一个 new Object(),象String 这样的系统对象的 prototype 不等同 new Object()
[解决办法]
都是 prototype.js 这个东东惹的祸
================================
同意,呵呵 :)
[解决办法]
http://bbs.51js.com/viewthread.php?tid=67217&highlight=%2B%D4%C2%D3%B0
[解决办法]
所以,是只读。。^o^
<script type= "text/javascript ">
var old = String.prototype, new_ = {};
String.prototype = new_;
alert((old == String.prototype) + ": " + (String.prototype == new_));
</script>
这样。。那个写错了。。

读书人网 >JavaScript

热点推荐