搜索
首页web前端js教程javascript new后的constructor属性_js面向对象

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;


刚开始理解错了,不明白一直这样来回空调用
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP8中如何通过Constructor Property Promotion简化类的构造函数?PHP8中如何通过Constructor Property Promotion简化类的构造函数?Oct 18, 2023 am 10:51 AM

PHP8中如何通过ConstructorPropertyPromotion简化类的构造函数?在PHP8中,引入了ConstructorPropertyPromotion(构造函数属性推广)特性,这使得编写类的构造函数更加简洁和高效。这个特性能够减少冗余的代码,并提高代码的可读性和可维护性。本文将详细介绍ConstructorPropertyPro

java中的new关键字怎么使用java中的new关键字怎么使用May 03, 2023 pm 10:16 PM

1.概念在Java语言里,“new”表达式是负责创建实例的,其中会调用构造器去对实例做初始化;构造器自身的返回值类型是void,并不是“构造器返回了新创建的对象的引用”,而是new表达式的值是新创建的对象的引用。2.用途新建类的对象3.工作机制为对象成员分配内存空间,并指定默认值对成员变量进行显式初始化执行构造方法计算并返回引用值4.实例new操作往往意味着内存中的开辟新的内存空间,这个内存空间分配在内存中的堆区,受到jvm控制,自动进行内存管理。这里我们就是用String这个类来举例说明。pu

解决C++编译错误:'class 'ClassName' does not have a constructor with parameters',如何解决?解决C++编译错误:'class 'ClassName' does not have a constructor with parameters',如何解决?Aug 26, 2023 am 08:15 AM

解决C++编译错误:'class'ClassName'doesnothaveaconstructorwithparameters',如何解决?在使用C++编写程序时,我们经常会遇到编译错误。其中一个常见的错误是"‘class'ClassName'doesnothaveaconstructorwithparameters'",即

go语言中make和new的区别是什么go语言中make和new的区别是什么Jan 09, 2023 am 11:44 AM

区别:1、make只能用来分配及初始化类型为slice、map、chan的数据;而new可以分配任意类型的数据。2、new分配返回的是指针,即类型“*Type”;而make返回引用,即Type。3、new分配的空间会被清零;make分配空间后,会进行初始化。

js中new操作符工作原理是什么js中new操作符工作原理是什么Feb 19, 2024 am 11:17 AM

js中new操作符工作原理是什么,需要具体代码示例js中的new操作符是用来创建对象的关键字。它的作用是根据指定的构造函数创建一个新的实例对象,并返回该对象的引用。在使用new操作符时,实际上进行了以下几个步骤:创建一个新的空对象;将该空对象的原型指向构造函数的原型对象;将构造函数的作用域赋给新对象(因此this指向了新对象);执行构造函数中的代码,并给新对

New Fujifilm fixed-lens GFX camera to debut new medium format sensor, could kick off all-new seriesNew Fujifilm fixed-lens GFX camera to debut new medium format sensor, could kick off all-new seriesSep 27, 2024 am 06:03 AM

Fujifilm has seen a lot of success in recent years, largely due to its film simulations and the popularity of its compact rangefinger-style cameras on social media. However, it doesn't seem to be resting on its laurels, according to Fujirumors. The u

如何使用Java中的clone()方法替代new关键字?如何使用Java中的clone()方法替代new关键字?Apr 22, 2023 pm 07:55 PM

使用clone()代替new在Java中新建对象实例最常用的方法是使用new关键字。JDK对new的支持非常好,使用new关键字创建轻量级对象时,速度非常快。但是,对于重量级对象,由于对象在构造函数中可能会进行一些复杂且耗时的操作,因此,构造函数的执行时间可能会比较长。导致系统短期内无法获得大量的实例。为了解决这个问题,可以使用Object.clone()方法。Object.clone()方法可以绕过构造函数,快速复制一个对象实例。但是,在默认情况下,clone()方法生成的实例只是原对象的浅拷

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能