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 继承使用分析

    JavaScript 继承使用分析

    继承,通俗地说,之前你写过一些类,这些类中有一些是而你现在要写的类的功能的子集或者基本相同,那么你不用完全重新写一个新的类,你可以把之前写的类拿过来使用.这样的一种代码重用过程就叫做继承
    2011-05-05
  • Javascript 类与静态类的实现

    Javascript 类与静态类的实现

    在Javascript里,对面向对象并没有一个直接的实现,对于代码方面也是非常的灵活。
    2010-04-04
  • Javascript 面向对象(三)接口代码

    Javascript 面向对象(三)接口代码

    接口:对实现某一种任务、功能,目的等,所规定的一些原则
    2012-05-05
  • javascript 对象入门实例教程

    javascript 对象入门实例教程

    学习javascript 对象操作的朋友可以参考下,这个是入门级教程。
    2010-04-04
  • 讨论javascript(一)工厂方式 js面象对象的定义方法

    讨论javascript(一)工厂方式 js面象对象的定义方法

    看《javascript高级程序设计》有感
    2009-12-12
  • Javascript 类与静态类的实现(续)

    Javascript 类与静态类的实现(续)

    由于MM的事件已干完,接着我们的静态类的实现。这东西在Javascript里用得会非常的频繁,因为针对现在的网页,多个基于同一个类对象的页面不多,往往不同块对象的交互就可以解决问题了,这就需要在JS针对元素定义几个静态类就可以完事了,进入正题。
    2010-04-04
  • JavaScript的面向对象方法以及差别

    JavaScript的面向对象方法以及差别

    JS作为一种动态语言,在语法上有相当大的自由度,所以造成了一种功能,有N种写法的局面。 在JS中实现OOP,一般来说有两种方法:
    2008-03-03
  • 不错的JavaScript面向对象的简单入门介绍

    不错的JavaScript面向对象的简单入门介绍

    JavaScript是一门OOP,而有些人说,JavaScript是基于对象的。
    2008-07-07
  • JavaScript 构造函数 面相对象学习必备知识

    JavaScript 构造函数 面相对象学习必备知识

    关于JavaScript构造函数,如今出现了很多JavaScript的框架,例如jQuery、Ext等等这些,这些将JavaScript作为一种面向对象的语言进行编程,那么JavaScript到底是怎么样实现面向对象的一些特征的呢,首先,我们来看看JavaScript怎么样来定义一个构造函数。
    2010-06-06
  • Javascript函数加壳多用于事件绑定

    Javascript函数加壳多用于事件绑定

    逸云.framework by Neequ 帮助:将改写函数体,使得同名函数可以同时执行 func 将之加壳的函数体字符串 name 函数名 obj 可选,默认为 window,为应用函数的父对象,多用于事件绑定
    2007-12-12

最新评论