String.prototype的问题... 都是 prototype.js 这个东东惹的祸,严格来讲你第二种写法是错误的写法,String.prototype 已经是一个内建的对象了,你只需对它进行属性扩充即可,而你对它进行了赋值且你赋的还是一个 new Object(),象String 这样的系统对象的 prototype 不等同 new Object() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 都是 prototype.js 这个东东惹的祸================================同意,呵呵 :) 貌似某大哥去年的某时间说过。。String之类的内置对象的prototype对象的引用只读的。。 看过一篇类的继承机制的文章,里面提到:function class1{}class1.prototype = {...}function class2{}for(var p in class1.prototype){ class2.prototype[p] = class1.prototype[p];}如果再给class2添加成员也只必须使用class2.prototype.xxx = xxx我可以理解为class2.prototype = { //成员}的方式只能用于父类成员的定义吗? //String之类的内置对象的prototype对象的引用只读的。。意思是说String.prototype = {}这样的方式会重写类的方法吗? 又发现一段话~所有 JScript 固有对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。 <script type="text/javascript">var old = String.prototype, new_ = {};String.prototype = new_;alert((old == String.prototype) + ":" + (old == new_));</script>是这个意思,你看下就知道了。。这个例子证明String.prototype = new_;没有付值成功。。 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>这样。。那个写错了。。 [自己已解决 要分的接]请问Extjs 4里如何点击treepanel的title时再加载treestore显示树 求树形菜单代码 求解释下面这段JS代码什么意思 复选框控制显示的问题! jqgrid 如何在初始化的时候隐藏查询栏 Js中内存释放 求高手解密一下这段js代码,送100分的积分,谢谢大哥们 求助一个简单的二级菜单javascript代码 如何在<iframe>的页面里面访问主窗体的元素? 父窗口如何得到子窗口超链接中的值 能否让一个层自由地游离于框架?急!!!! 通过document.createElement得到的对象如何获取它的HTML代码
================================
同意,呵呵 :)
String之类的内置对象的prototype对象的引用只读的。。
function class1{
}
class1.prototype = {
...
}function class2{
}for(var p in class1.prototype){
class2.prototype[p] = class1.prototype[p];
}如果再给class2添加成员也只必须使用
class2.prototype.xxx = xxx我可以理解为
class2.prototype = {
//成员
}
的方式只能用于父类成员的定义吗?
var old = String.prototype, new_ = {};
String.prototype = new_;
alert((old == String.prototype) + ":" + (old == new_));
</script>
是这个意思,你看下就知道了。。
这个例子证明
String.prototype = new_;没有付值成功。。
<script type="text/javascript">
var old = String.prototype, new_ = {};
String.prototype = new_;
alert((old == String.prototype) + ":" + (String.prototype == new_));
</script>
这样。。那个写错了。。