网络编程 
首页 > 网络编程 > 浏览文章

javascript new后的constructor属性

(编辑:jimmy 日期: 2025/5/12 浏览:3 次 )

js对象生成时:

如:function BB(a){
this.a="kkk"
}

var b=new BB();
这时b是对象有了BB的的属性prototype所指向的prototype对象;
prototype对象有constructor属性指向BB这个函数;
所以alert(b.constructor==BB.prototype.constructor) //true

这里的“有了”的执行过程是先查看b有没有此属性让后去查看prototype里的属性值,不是简单的A=B:
如添加:b.constructor="ccc";

执行:alert(b.constructor==BB.prototype.constructor) //false; BB.prototype.constructor仍然是BB函数;

看一下taobao的kissy的继承:

复制代码 代码如下:
O = function (o) {
                   function F() {
                   }

                   F.prototype = o;
                   return new F();
               },
               sp = s.prototype,
               rp = O(sp);

           r.prototype = rp;
  //alert(r.prototype.constructor==sp.constructor)
           rp.constructor = r;
  //alert(r.prototype.constructor==sp.constructor)
           r.superclass = sp;

刚开始理解错了,不明白一直这样来回空调用

上一篇:javascript setAttribute, getAttribute 在不同浏览器上的不同表现
下一篇:FileUpload上传图片(图片不变形)
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap