javascript new后的constructor属性

 更新时间:2010年08月05日 14:44:54   作者:  
new后的constructor属性使用说明,需要的朋友可以参考下。

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 new fun的执行过程

    javascript new fun的执行过程

    new fun的执行过程分析,学习面向对象的朋友可以参考下。
    2010-08-08
  • JavaScript 常见对象类创建代码与优缺点分析

    JavaScript 常见对象类创建代码与优缺点分析

    这几种javascript类定义方式中,最常用的是杂合prototype/constructor 和 动态prototype方式。
    2009-12-12
  • JavaScript中的面向对象介绍

    JavaScript中的面向对象介绍

    在JavaScript,可以说everything is object,那么什么是对象?对象就是包含一组变量和函数的集合。在其它面向对象语言中对象是由类的实例化而来,JavaScript是基于原型的面向对象语言,没有类的概念,对象派生自现有对象的副本
    2012-06-06
  • 用JavaScript实现单继承和多继承的简单方法

    用JavaScript实现单继承和多继承的简单方法

    JavaScript是一种强大的多泛型编程语言,其融合了面向过程、面向对象和函数式编程于一身,具备强大的表现能力。
    2009-03-03
  • Javascript 面向对象 继承

    Javascript 面向对象 继承

    所有面向对象的语言都应该有继承的特性,JavaScript 也不例外。
    2010-05-05
  • javascript 面向对象的JavaScript类

    javascript 面向对象的JavaScript类

    这一节来说下紧接着的一个概念——类。虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想。在C#中类可以分为实例类和静态类,JavaScript亦然。
    2010-05-05
  • js另类写法

    js另类写法

    ju 应该是一个定义了各种方法对象 function(b) 的 b 就是 b(a[d], d) 中的参数 a[d] C 是统计方法数量的函数
    2008-03-03
  • JS 继承实例分析

    JS 继承实例分析

    主要有三种方法: 1. this.method=Parent; this.method=Parent's constructor 2. Parent.call(this,arg,arg,arg.....);3.Parent.apply(this,arg.arg...) //for Array 还是来点实际的吧...
    2008-11-11
  • CLASS_CONFUSION JS混淆 全源码

    CLASS_CONFUSION JS混淆 全源码

    这里通过JS字符串替换、随机数运算实现混淆JS代码,达到降低代码可读性,以保护代码的目的,需要的朋友可以参考一下
    2007-12-12
  • JS继承 笔记

    JS继承 笔记

    JavaScript中没有类的概念,与类相关的继承的概念更是无从谈起,但是我们可以通过特殊的语法来模拟面向对象语言中的继承。
    2011-07-07

最新评论