Prototype、construct和__proto__的区别

1.prototype(函数特有的属性-原型对象):每创建一个函数,就会有一个prototype属性,这个属性是一个指针,指向一个原型对象,而这个对象的用途是包含由特定类型或者实例共享的属性和方法
对于构造函数来说,prototype是作为构造函数的属性;对于对象实例来说,prototype是对象实例的原型对象。所以prototype即是属性,又是对象。
       

function fn(){};      
console.log(fn.prototype);


其实我们创建函数就是调用构造函数Function来实现的,其原型对象就是Object(),而这里,fn的原型对象就是Object()。
2.constructor(原型对象的属性,包括Object、function、Array、Date、String才有的属性):在默认情况下,所有的原型对象都会获得一个constructor属性,这个属性包含一个指向prototype属性所在的函数指针。对象实例的constructor属性返回对象实例的构造函数。
3.__proto__(实例的指针):当采用构造函数创建一个实例之后,该实例内部都会有一个指针(_proto_)指向构造函数的原型对象。

附一张图:

倩lq
关注 关注
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JS中的prototype、__proto__与constructor
weixin_30561177的博客
09-04 494
1.前言 作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下划线之间加入了一个空格:_ _proto_ _),实际上,该属性在ES标准定义...
_proto_和 prototype的关系
qq_44899259的博客
08-22 251
前言: ​1、两者完全是两个东西!! 2、所有都有_proto_属性,初始值该对象的构造函数的原型对象(ptoto); ​3、函数上和内置对象上才有prototype属性,初始值是本身的_ptoto_。 _proto_ 这其实只是一个别名,proto_的真实本质是一个internal slot(内置插槽)[[Prototype]],注意这里的[[Prototype]]与我们标题里的prototyp...
关于JS中的constructorprototype
abn103的专栏
01-12 168
在学习JS的面向对象过程中,一直对constructorprototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西。一般人们叫它函数。比如下面的代码 js代码: function Person(name) { alert(name); } Pers...
prototype、__proto__与constructor区别与联系
qq_35376561的博客
07-21 517
1、图解 function Foo() {...}; let f1 = new Foo(); 2、 总结一下: 1、我们需要牢记两点:①__proto__和constructor属性是对象所独有的;② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。 2、 __proto__属性的作用就是当访问一个对象的属性时,如果该对...
JavaScript原型链,prototype与 _proto_的区别
weixin_30408675的博客
02-23 114
javaScript原型、原型链的定义? prototype:每个函数都有一个prototype(显式原型),这个属性是一个对象(属性的集合),默认有一个叫做constructor(和_proto_)的属性,指向这个函数本身。 所有的实例需要共享的属性和方法,都可以放在prototype对象中,那些不需要的则放在“构造函数”中, 从外界看来,prototype对象好像是实例原型的对象...
prototypeprototype.constructorconstructor.prototype区别与联系
懒蜗牛
08-03 493
在js中经常可以接触到prototypeprototype.constructorconstructor.prototype,感觉像一个圈一样,绕来绕去,他们是什么关系,什么时候该用哪一个,这是让很多新学js的人困惑的问题。     我们知道在js中,prototype是函数的原型,定义了一类对象共有的属性(通常都是方法),是该类对象的"blueprint"。 constructor是...
详解帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
10-16
JavaScript中的`prototype`、`__proto__`和`constructor`是理解JavaScript面向对象编程的关键概念。这篇文章通过图解的方式深入浅出地解析了这三个概念之间的关系。 首先,`__proto__`属性是对象独有的,它指向对象...
构造函数、原型对象prototype、实例、隐式原型__proto__的理解
 我的博客
12-15 1072
(欢迎一起探讨,如果有什么地方写的不准确或是不正确也欢迎大家指出来~) PS: 建议将构造函数中的方法都定义到构造函数的原型中,那么由该构造函数创建的实例的方法都会指向同一个方法。(在构造函数内部声明的话,每创建一个实例都会重新实例化函数,那么每个实例中的函数的指向是不同的;如果定义在全局作用域中,且有很多方法,这样毫无封装性可言。) 一、属性和方法 构造函数可以定义三种属性和方法: 对象属性/对象方法:构造函数内定义的属性/方法 静态属性/静态方法:构造函数的静态属性/方法 原型属性/原型方法
原型(prototype),原型指针(_proto_),原型链,构造器指针(constructor
weixin_44066534的博客
07-14 533
原型(prototype),原型指针(proto),原型链,构造器指针(constructor)到底都是些什么? 让我们先从含义层看看这四个到底是什么意思???? 原型(prototype) 所有函数都有一个prototype(原型)属性,属性值是一个普通的对象。 原型指针(proto) 指向构造该对象的构造函数的原型(prototype) 原型链 在javascript中,每个函数都会初始化一个属性:原型(prototype),当我们需要访问这个函数的某个属性时,就会去到prototype中寻找该属性,若
Construct2源码-笔记
09-10
通过检测`__proto__`属性或使用`constructor.prototype`的方式,能够确保代码的兼容性和健壮性。 3. **运行时特性识别**:通过对不同Web环境的识别,可以针对特定环境进行优化或特殊处理,比如针对Cordova/...
__proto__ 、constructorprototype区别
xiuxiuxiubiubiubiu的博客
12-12 160
function Foo(){} let a = new Foo(); //每个函数都有prorotype属性,初始值是空; //主要作用就是“便于方法或者属性的重用”,可以利用类似于Foo.prototype.show添加扩展属性和方法 //constructor与__proto__是所有对象公共的属性,a.constructor指向其构造函数Foo,a.__proto__指向Foo的...
大白话通俗易懂的讲解javascript原型与原型链(__proto__、prototypeconstructor区别
michiko98的博客
06-22 226
javascript原型和原型链是js中的重点也是难点,理论上来说应该是属于面向对象编程的基础知识,那么我们今天为什么要来讲这个呢?(因为我也忘了,最近看资料才揭开面纱…… 哈哈哈)      好了,直接进入正文。在js的编程世界中,万物皆对象;不管你是数组还是函数还是对象,都是属于对象类型;那么这么多对象,如何进行管理呢?js中把对象分为实例对象、函数对象、原型对象三大类;   实例对象:     通过构造函数(所谓构造函数我们可以简单理解为进行new操作的函数就是构造函数)所创建的对象都是实例.
原型链----看懂_proto_和prototype
wenmin1987的博客
09-15 591
文章目录 1. 前言 2. _ _ proto _ _ 属性 3. prototype属性 4. constructor属性 5. 总结 提示:不要排斥,静下心来,认真读完,你就搞懂了!(可以先看一下最后的总结部分再回过头来完整看完) 1. 前言   作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__prot..
javascript学习——constructorprototype、_proto_的区别
u013237862的博客
12-15 396
constructor:始终指向当前对象的构造函数 var arr = [1,2,3]; alert(arr.constructor); // function Array() function A(){}; var a = new A(); alert(a.constructor); // function A() prototype: 是函数对象具有的属性,叫做原型对象。一旦原型对象赋予了
prototypeconstructor
martineden2010的博客
06-29 592
prototype 对象 3.1 构造函数的缺点 实例对象的属性和方法,可以定义在构造函数内部。 通过构造函数为实例对象定义属性,虽然很方便,但是有一个缺点。同一个构造函数的多个实例之间,无法 共享属性,从而造成对系统资源的浪费。 function Cat(name, color) { ...
弄清JavaScript原型继承:prototypeconstructor与__proto__
exmlyshy的博客
03-02 1434
前言: 初学JavaScript时,学到原型继承的时候很容易搞不懂prototypeconstructor与__proto__,但是只要在控制台不断尝试分析结果,多搜索就可以解决绝大部分疑惑 从廖雪峰网站学习JS的原型继承 - 廖雪峰的官方网站时,廖老师的讲解也很清楚了,但是评论区还是有人表示看不懂,从个人角度来说,我觉得是因为廖老师没有介绍constructor这个属性。 constructo...
__proto__ 和 prototype 以及 constructor
haonan_z的博客
07-06 318
很多小伙伴其实对prototype这个东西都是一知半解的,更别说__proto__,今天就让我们来梳理一下他们的关系,首先我们通过一段代码来看下这几个属性的概念 function User(name){ this.name=name } User.prototype.getName = function(){ return this.name } const user = new User('henry') console.log(user.getName()) //打印出 henry consol.
彻底理解prototype和__proto__、constructor
VegetableKCCCC的博客
06-24 216
首先看一段代码,定义一个构造函数Parent 和 Child, new一下Child构造函数创造出实例对象child1. 然后 这里说明实例是个对象,一定要注意 prototype: prototype属性也叫原型对象,主要是为了实现继承和共享属性; 可以说我们的每一次编程,内在都有原型对象来发挥着作用,如果你没有掌握原型对象的含义,那么你的js还没有真正的入门! 这里记住:对象分为函数对象与普通对象;除函数对象之外的对象全部是普通对象! 只有函数对象才具有prototype属性!;而系统内置的函数对
详解constructorprototype、__proto__
CaraYQ的博客
09-24 836
目录constructor:保存自己构造函数引用的属性prototype对象:用于放某同一类型实例的共享属性和方法,实质上是为了内存着想。__proto__原型链 constructor:保存自己构造函数引用的属性 1.可以通过对象.constructor拿到创建该实例对象的构造函数。 2.对象由函数创建,函数都是Function对象实例。 function Person() {...} console.log(Person.constructor) // 输出结果:[Function: Function]
thinkphp_construct_code_exec',
最新发布
08-29
thinkphp_construct_code_exec 是一个指向ThinkPHP框架中的一个构造函数的代码执行漏洞。这个漏洞允许攻击者使用特殊的构造函数参数来执行任意的PHP代码。 在ThinkPHP框架中,构造函数通常用于初始化对象的属性和...
写文章

热门文章

  • 用HTML做一个简单漂亮的页面 52299
  • 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。 4780
  • 编写一个程序,实现字符串大小写的转换并倒叙输出 4693
  • 数据结构之链式存储结构和顺序存储结构 3090
  • 关于前端中的安全问题及解决方案 1989

最新评论

  • 用HTML做一个简单漂亮的页面

    鹤511: 你好 博主 可以分享一下img文件吗?邮箱1340912526@qq.com

  • 用HTML做一个简单漂亮的页面

    EDGM0827: 居然看到了我们大一期末考试的内容,一模一样的网页表情包

  • 用HTML做一个简单漂亮的页面

    2201_75879152: 大佬你好,可以分享一下img文件名,邮箱2968003768@qq.com

  • 用HTML做一个简单漂亮的页面

    EA菜鸟: 大佬你好,可以分享一下img文件名,邮箱2813406316@qq.com

  • 用HTML做一个简单漂亮的页面

    买糖给你: 你好,博主可以给我分享下img的文件么?邮件1215425545@qq.com 感谢博主

大家在看

  • ANDROID手机如何在TERMUX安装kali nethunter详解
  • 2024智能物联与计算国际学术会议(AITC 2024) 2024 International Conference on Artificial Intelligence of Things and
  • springboot+vue在线学习网站【开题+程序+论文】
  • 基于PHP的在线小说阅读平台(源码+vue+部署文档等) 982
  • Python在数据科学与机器学习中的应用

最新文章

  • CSS常见面试题
  • JQ链式调用
  • Vue调试工具dev-tools的安装
2020年6篇
2019年38篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢农民耕种雕塑玻璃钢雕塑女人体仙游玻璃钢花盆花器祖庙玻璃钢人物雕塑玻璃钢雕塑玩偶山东户外玻璃钢雕塑优势银川大型玻璃钢雕塑安装龙泉玻璃钢雕塑咨询张掖抽象人物玻璃钢雕塑公司山东抽象玻璃钢雕塑价位绍兴玻璃钢海豚雕塑新浪南京玻璃钢雕塑厂揭阳熊猫玻璃钢卡通雕塑黑河校园玻璃钢雕塑公司欧式人物玻璃钢雕塑定做鹤壁卡通玻璃钢雕塑泰州商场美陈策划广州楼盘玻璃钢雕塑铁岭雕塑玻璃钢卡通通城玻璃钢花盆花器青海仿铜玻璃钢雕塑湖州欧式玻璃钢雕塑组合式玻璃钢雕塑摆件采购高性价玻璃钢花盆组合东莞玻璃钢黄鹂鸟雕塑广场玻璃钢雕塑代理商海洋公园玻璃钢鲸鱼雕塑建党100周年商场美陈玻璃钢雕塑童男童女上海有吗云浮玻璃钢雕塑销售厂香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化