深入理解javascript prototype的相关知识


Posted in Javascript onSeptember 19, 2019

如图比较好的阐述了prototype和__proto__

简单的可以这么理解:

狗类A( function foo()),狗类A的模板描述:A.模板 (foo.prototype)是一个对象object, A.模板有个构造方法

foo.prototype.constructor=function foo()

动物B(function function()), 动物B的模板描述 . B.模板 (function.prototype), B.模板有个构造方法

function.prototype.constructor=function function()

狗C= new 狗类A (f1=new foo())

那么狗c的父类模板=A.模板 即 f1.__proto__= foo.prototype.

狗类A的父类模板=B.模板 即 foo.__proto__=function.prototype

只有函数有prototype,对象是没有的。

但是函数也是有__proto__的,因为函数也是对象。函数的__proto__指向的是Function.prototype。

也就是说普通函数是Function这个构造函数的一个实例。

__proto__可以理解为指向父类模板的一个引用。用来查找父类模板的

prototype可以理解为对象的一个属性,用来描述自身如果作为模板是如何定义的,该模板有方法和属性。

function foo() 自身如果作为模板prototype,它自身会有构建函数,模板的属性constructor就是描述这个构建函数。

foo()这个对象实际上是隐含从父类模板继承过来的,这个父类模板就是function function()的模板属性。即它的prototype.

深入理解javascript prototype的相关知识

设计者定义的时候名称比较混淆不利于理解。这是javascript的败笔。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript天然的迭代器
Oct 29 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 Javascript
JavaScript使用Prototype实现面向对象的方法
Apr 14 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
js实现C#的StringBuilder效果完整实例
Dec 22 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
jQuery获取与设置iframe高度的方法
Aug 01 Javascript
深入理解JS继承和原型链的问题
Dec 17 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
vue实现搜索功能
May 28 Javascript
JS封装cavans多种滤镜组件
Feb 15 Javascript
基于Vue的商品主图放大镜方案详解
Sep 19 #Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 #Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 #Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 18 #Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 #Javascript
layui 富文本编辑器和textarea值的相互传递方法
Sep 18 #Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 #Javascript
You might like
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
采购意向书范本
2014/03/31 职场文书
品牌服务方案
2014/06/03 职场文书
单位工作证明书格式
2014/10/04 职场文书
酒桌上的开场白
2015/06/01 职场文书
党性修养心得体会2016
2016/01/21 职场文书