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>
这样。。那个写错了。。