JavaScript高级-----显式原型属性、隐式原型属性、原型对象

1 篇文章 0 订阅
订阅专栏

其实我还没搞明白,先记录下来。

1.所有的实例对象都有隐式原型属性。

2.每一个函数function都有一个prototype显示原型属性。
3.对象的隐式原型的值为其对应构造函数的显式原型的值。
4.函数的prototype属性: 在定义函数时自动添加的, 默认值是一个空Object对象。
5.对象的proto属性: 创建对象时自动添加的, 默认值为构造函数的prototype属性值。
6.function Foo{}等于var Foo = new Function()所以有隐式原型属性,即所有函数都有隐式和显示原型属性。
7.所有函数的隐式原型都相等,都是new Function产生的。
8.function Function()既有显示原型属性也具有隐式原型属性且相同,说明Function=new Function。
9.function Object()的隐式原型等于function Function的显示原型,进一步说明每个函数都是Function的实例(包括他本身)。
10.函数的显示原型指向的对象, 默认是空的Object实例对象,单Object不满足。
11.所有的函数本质上都是Function()的实例,所以我们定义的函数可以看作为:var fun = new Function(){},所以我们定义的函数也有__proto__(即隐式原型属性),均指向Function的prototype属性(显式原型属性,但是Function.prototype又是Object.prototype的实例)1.所以函数的显式原型指向的对象默认是空的Object实例对象,除了Object函数自身例外。2.所有函数都是*Function的实例(包括Function自身)。然后fun自己还有自己的prototype属性,一开始prototype属性的值是一个堆内存的空的对象地址,可以向其中加入属性。如果有实例比如 var p1 = new fun{},那么p1的__proto__值自动被赋值为fun的prototype属性的值。总的来说就是因为jsp没有类,为了实现一些类似继承的功能来的,这样实例就可以用上一级的显式原型里的属性,隐式原型属性始终是个地址值。

注:Function的显示原型也是Object的实例
11.3.Object原型对象是原型链的尽头,因为Object.proto 是null.。
实际上沿着隐式原型链找的
在这里插入图片描述

//创建一个构造函数
function person(name){
    this.name=name
}
//创建一个构造函数的实例
var person1=new person;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
有些混乱,想起来了继续弄明白
画个图,一下子清楚了
在这里插入图片描述

js 面试题1 typeof-变量计算-原型
09-23
JavaScript,每个对象都有一个`__proto__`属性,指向创建它的构造函数原型原型链是由这些`__proto__`链接起来的结构,使得对象可以访问其构造函数原型上的属性和方法。通过`instanceof`运算符,我们可以检查...
2.①实例的隐式原型指向构造函数的显示原型原型链的终点是null③显示原型的constructor④所有对象类型都是Object的实例⑤所有函数~都是Function的实例(Fu是Obj的父级对象
lazylYYY的博客
08-25 502
一:什么是构造函数?什么是实例?什么是显示原型?什么是隐式原型? 1.构造函数和实例
JavaScript显式原型属性)和隐式原型属性
weixin_45664402的博客
10-18 497
JavaScript显式原型属性)和隐式原型属性) prototype和__proto__的区别与联系 实例对象隐式原型__proto__等于构造函数显式原型prototype prototype和__proto__都是引用变量属性,是一个地址值。 图解如下: ...
【设计模式】创建型模式(五):原型模式
最新发布
书山有路,学海无涯。记录成长,追逐梦想
09-22 948
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
函数的prototype属性、显示原型隐式原型属性
m0_52545254的博客
04-29 1236
1. 函数的prototype属性: (1) 每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为:原型对象) * * fu'n (2)原型对象有一个constructor,他指向函数对象 * 检查方法: console.log(Date.prototype.constructor) === Date) // true console.log(Fun.prototype.constructor) === Fun)// true 2. 给原型对象添加属性.......
js显式原型隐式原型
qq_44732010的博客
03-06 4270
显式原型:prototype 隐式原型:__ proto__ 1.显式原型隐式原型是什么? 在js万物皆对象,方法(Function)是对象,方法的原型(Function.prototype)是对象对象具有属性(__ proto__)称为隐式原型对象隐式原型指向构造该对象的构造函数显式原型 (prototype)。 方法(Function)是一个特殊的对象,除了和其他对象一样具有__p...
原型模式
HELLOW,文浩
04-26 106
原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,...
javascript-weird-parts:了解JavaScript的怪异部分
04-29
- **对象属性的访问方式**:点号和方括号都可以用来访问对象属性,方括号允许使用变量来动态获取属性名。 以上就是JavaScript的一些“怪异部分”,理解并掌握这些知识点对于成为一个熟练的JavaScript开发者至关...
javascript-learning-path:javascript学习路径
03-15
:school: :school: :school: JavaScript学习路径 运行JavaScript 脚本标签 浏览器控制台 链接外部文件 宣言 范围 全球的 功能 堵塞 吊装 原始类型 复合类型 空值 功能 目的 数据结构 大批 放 地图 日期 类型转换 ...
javascript-fundamentals:这是参考依据
04-17
- 访问对象属性可以使用点号`.`或方括号`[]`,例如`obj.property`或`obj['property']`。 8. **函数(Functions)** - 函数是可重复使用的代码块,使用`function`关键字定义。可以接受参数,返回值。 - 高阶函数...
JavaScript高级-this绑定规则+箭头函数
10-21
JavaScript的`this`绑定规则是理解JavaScript面向对象编程的关键概念之一。`this`关键字在不同情况下会有不同的指向,主要取决于函数的调用方式。这里我们将深入探讨四种主要的`this`绑定规则:默认绑定、隐式绑定...
JS显式原型属性)与隐式原型属性
weixin_44707049的博客
04-29 786
学习视频: https://www.bilibili.com/video/BV14s411E7qf?p=16 1.每个函数function都有一个prototype属性,即显式原型属性),这个属性默认指向一个空的Object对象。 2.每个实例对象都有一个__proto__属性,即隐式原型属性)。 3.实例对象隐式原型的值,为它的构造函数显式原型的值。 代码示例: function Fn() { //整一个空的函数对象 } //1.每个函数function都有一个prototype属性,即.
03JS高级-原型原型
前端菜菜DayDayUp的博客
09-13 253
一、原型(prototype) <!-- 1. 函数的prototype属性(图) * 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象) * 原型对象有一个属性constructor, 它指向函数对象 2. 给原型对象添加属性(一般都是方法) * 作用: 函数的所有实例对象自动拥有原型属性(方法) --> <script type="text/javascript"> // 每个函数都有一个prototype
浅谈隐式原型和显示原型
karrymylove的博客
06-02 1995
浅谈JavaScript三大件之一的“原型”(一) 一、什么是原型(what)? 每一个构造函数(可以理解为类)都拥有一个属性(prototype),该属性指向一个对象,用于存放公共的属性和方法。 构造函数的定义方式: var Fun=new Function() Function Fun(){} //Fun就是创建出来的构造函数 二、为什么要用原型(why)? 虽然常说js一切皆对象,但js本身不是一项面向对象编程的语言,没有类(class)的说法, 所以说为了让构造函数(Function
显式原型隐式原型
口耳戈是个生僻字
03-23 1786
1. 函数的prototype属性  * 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象)  * 原型对象有一个属性constructor, 它指向函数对象2. 给原型对象添加属性(一般都是方法)  * 作用: 函数的所有实例对象自动拥有原型属性(方法)// 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: ...
显式原型隐式原型 原型
一李
12-12 664
对象隐式原型的值为其对应构造函数显式原型的值。 function Fn(){} //显式原型--->空的Object对象 console.log(Fn.prototype); //隐式原型---> var fn = new Fn();//this.__proto__ = Fn.prototype console.log(fn.__proto_...
javascript原型对象(prototype)和隐式原型(__proto__)
anr_safely的博客
04-17 1881
1.什么是原型对象(原型)? 每一个函数(除箭头函数外)天生自带一个prototype属性,该属性称之为原型对象原型),是一个引用类型数据。 作用:保存将来使用该函数构造出来的属性和方法,构造出来的属性和方法可以被共享。 注意:在prototype身上添加的方法不是给当前函数用的,而是给将来new函数之后得到的实例对象使用的。 prototype属性专属于函数。 function Fn(){...
JavaScript显示原型隐式原型
AQ3219795118的博客
10-27 744
JavaScript显示原型隐式原型 显示原型是什么?隐式原型是什么? 显示原型 在每一个函数里边都有一个prototype的属性,而这个属性指向了prototype对象,这个prototype就是显示原型,我们来看一下实例: //定义函数 function add(){ console.log('this is add function') } //测试 - 所有prototype的初始值都是一个空对象 console.log(add.prototype);//{} //既然它是一个对象,我们就可以
深入理解JS对象隐式类型转换的过程
dreamapplehappyapple的专栏
05-25 592
在平时的开发工作,我们有时会遇到需要将一个对象转换成基本类型的情况。很多情况下这个过程都是自动完成的,我们不需要手动处理。但是每当遇到这种情况的时候,你是否有思考过其背后的逻辑是怎样的?这篇文章会跟大家一起探讨一下这个问题。 在开始这篇文章之前,大家可以尝试思考一下下面问题的答案,看看自己对这部分知识的掌握程度怎么样。 let a = { [Symbol.toPrimitive] (hint) { if (hint === 'number') { conso
隐式原型显式原型有哪些
05-20
JavaScript,每个对象都有一个隐式原型和一个显式原型。 1. 隐式原型(__proto__):每个JavaScript对象都有一个指向它的原型对象的内部链接,称为隐式原型或 __proto__,它定义了对象属性和方法的访问方式。当查找一个对象自身没有的属性或方法时,会沿着这个对象的 __proto__ 链一直向上查找,直到找到该属性或方法或者到达原型链的顶端(Object.prototype)。 2. 显式原型(prototype):每个函数都有一个特殊的属性 prototype,它是一个对象,包含了由该构造函数创建的所有实例共享的属性和方法。当一个函数被用作构造函数时,它所创建的对象的 __proto__ 属性会指向该构造函数的 prototype 属性。因此,通过修改构造函数的 prototype 属性,可以添加新的属性和方法,从而影响到由该构造函数创建的所有实例。 需要注意的是,隐式原型显式原型是两个不同的概念,它们之间并没有直接的关系。每个对象只有一个隐式原型,而每个函数都有一个 prototype 属性。因此,只有函数才有显式原型,而普通对象没有显式原型
写文章

热门文章

  • 报java.lang.ArrayIndexOutOfBoundsException异常的解决方法——java 4819
  • 有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1899
  • JavaScript高级-----显式原型属性、隐式原型属性、原型对象 1485
  • 用matlab做二元决策图的学习记录day1 1158
  • 用matlab做二元决策图的学习记录day2_二元决策树 751

分类专栏

  • javascript 1篇
  • Java 2篇
  • 科研 2篇
  • matlab可靠性 2篇
  • 二元决策图 2篇

最新评论

  • JavaScript高级-----显式原型属性、隐式原型属性、原型对象

    m0_66672422: 我画的图比这个还多了一个Function

  • JavaScript高级-----显式原型属性、隐式原型属性、原型对象

    我想要成为一个大佬: 这总结的真棒,通俗易懂

最新文章

  • Java—折半查找和插入
  • 有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
  • 报java.lang.ArrayIndexOutOfBoundsException异常的解决方法——java
2019年7篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家宜兴商场亮化美陈玻璃钢雕塑摆放芜湖玻璃钢动物雕塑设计百货商场电梯口元旦美陈广西玻璃钢智能雕塑西城商场美陈制作湛江户外玻璃钢雕塑天津玻璃钢雕塑材质如何做好商场美陈工作商场屋檐玻璃顶灯光美陈定制大型玻璃钢浮雕雕塑制作厂家常见商场美陈供应南京动物玻璃钢雕塑价格恩施玻璃钢花盆厂家玄武百货商场美陈商场美陈推荐 青岛 程通白城卡通造型玻璃钢雕塑厂家濮阳肖像玻璃钢卡通雕塑商场美陈坐凳花盆组合玻璃钢雕塑大型怎么做寒亭玻璃钢造型雕塑望都昙玻璃钢雕塑厂杭州德清商场美陈布置附近制作镁泥和玻璃钢花盆丽水商场商业美陈定制价格玻璃钢雕塑仿真火龙果玻璃钢烤漆雕塑望城玻璃钢雕塑定制塘沽玻璃钢动物雕塑彩色玻璃钢雕塑厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

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