javascript new后的constructor属性_js面向对象
程序员文章站
2022-04-28 14:53:39
...
js对象生成时:
O = function (o) {
function F() {
}
刚开始理解错了,不明白一直这样来回空调用
如: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;
刚开始理解错了,不明白一直这样来回空调用
推荐阅读
-
同一页面多个商品倒计时JS 基于面向对象的javascript
-
javascript遍历json对象的key和任意js对象属性实例
-
重学js之JavaScript 面向对象的程序设计(创建对象)
-
javascript Base类 包含基本的方法_js面向对象
-
同一页面多个商品倒计时JS 基于面向对象的javascript_时间日期
-
面向对象的javascript(笔记)_js面向对象
-
面向对象的javascript(笔记)_js面向对象
-
javascript类式继承新的尝试_js面向对象
-
JS将所有对象s的属性复制给对象r(原生js+jquery)_javascript技巧
-
浅析JS中document对象的一些重要属性_javascript技巧