当前位置: 首页 > news >正文

北京中国建设工程造价管理协会网站网站模板前台后台

北京中国建设工程造价管理协会网站,网站模板前台后台,网站收录有什么用,深圳网站建设培训学校JavaScript中原型链(proto)与原型(prototype) 在JavaScript中#xff0c;理解原型链#xff08;__proto__#xff09;和原型#xff08;prototype#xff09;对于深入掌握面向对象编程至关重要。本文将通过示例代码#xff0c;详细解析__proto__和prototype之间的关系理解原型链__proto__和原型prototype对于深入掌握面向对象编程至关重要。本文将通过示例代码详细解析__proto__和prototype之间的关系以及它们在对象和构造函数之间的作用。 一、基本概念 1. 构造函数与实例对象 构造函数在JavaScript中函数可以作为构造函数使用通过new关键字创建实例对象。实例对象由构造函数创建的对象继承了构造函数的属性和方法。 2. 原型prototype prototype每个函数包括构造函数都有一个prototype属性指向一个对象这个对象被称为原型对象。原型对象存储共享的属性和方法供所有实例对象访问。 3. 原型链__proto__ proto每个对象都有一个__proto__属性指向创建该对象的构造函数的原型对象。原型链通过__proto__属性将对象、构造函数和原型对象连接起来形成一个链式结构。 二、示例代码解析 下面通过一段示例代码逐步解析__proto__和prototype之间的关系。 function Person(name, age){this.name name;this.age age; }const person new Person(Tom, 18);// 构造函数的prototype就是实例对象的__proto__ console.log(Person.prototype person.__proto__); // true// 实例对象的constructor指向构造函数 console.log(person.constructor Person); // true// 实例对象的__proto__对象上的constructor指向的又是Person构造函数 console.log(person.__proto__.constructor Person); // true// 实例对象的__proto__对象的__proto__指向的是Object构造函数的prototype console.log(person.__proto__.__proto__ Object.prototype); // true// 每一个构造函数也是一个对象所以也都有__proto__属性指向的是Function构造函数的prototype console.log(Person.__proto__ Function.prototype); // true// Function构造函数的prototype的constructor指向Function构造函数 console.log(Function.prototype.constructor Function); // true// Function的prototype的__proto__指向Object的prototype console.log(Function.prototype.__proto__ Object.prototype); // true// 因为所有构造函数的__proto__都是指向Function的prototype所以Function构造函数的prototype和__proto__是相等的 console.log(Function.__proto__ Function.prototype); // true1. 实例对象与构造函数的关系 console.log(Person.prototype person.__proto__); // true解析 Person.prototype是构造函数Person的原型对象。person.__proto__是实例对象person的原型指向Person.prototype。因此Person.prototype person.__proto__返回true。 2. 实例对象的constructor属性 console.log(person.constructor Person); // true解析 实例对象person的constructor属性指向其构造函数Person。因此person.constructor Person返回true。 3. 原型对象的constructor属性 console.log(person.__proto__.constructor Person); // true解析 person.__proto__是Person.prototype它有一个constructor属性指向构造函数Person。因此person.__proto__.constructor Person返回true。 4. 原型链向上查找 console.log(person.__proto__.__proto__ Object.prototype); // true解析 person.__proto__是Person.prototype。Person.prototype.__proto__指向Object.prototype。因此person.__proto__.__proto__ Object.prototype返回true。 5. 构造函数也是对象 console.log(Person.__proto__ Function.prototype); // true解析 构造函数Person本身是一个函数对象所以它的__proto__属性指向Function.prototype。因此Person.__proto__ Function.prototype返回true。 6. Function构造函数的关系 console.log(Function.prototype.constructor Function); // true console.log(Function.prototype.__proto__ Object.prototype); // true console.log(Function.__proto__ Function.prototype); // true解析 Function.prototype是Function构造函数的原型对象。Function.prototype.constructor指向Function自身。Function.prototype.__proto__指向Object.prototype因为函数也是对象。Function.__proto__指向Function.prototype因为Function也是函数是自己的构造函数。因此上述三个console.log均返回true。 三、原型链查找属性的过程 console.log(person.__proto__); // Person {} console.log(person.__proto__.__proto__); // Object {} console.log(person.__proto__.__proto__.__proto__); // null解析 person.__proto__是Person.prototype。person.__proto__.__proto__是Object.prototype。person.__proto__.__proto__.__proto__为null表示原型链的顶端。 四、总结 1. 关于__proto__和prototype __proto__ 是每个对象都有的内置属性指向其构造函数的原型对象。用于实现对象的原型链在查找属性时如果对象自身没有会沿着__proto__向上查找。 prototype 是构造函数的属性指向原型对象。原型对象上定义的方法和属性会被构造函数的所有实例共享。 2. 关于构造函数和实例对象 实例对象的__proto__ 指向构造函数的prototype属性。 实例对象的constructor 通过__proto__找到原型对象原型对象的constructor指向构造函数。 构造函数的__proto__ 因为构造函数本身是一个函数对象所以它的__proto__指向Function.prototype。 3. 关于原型链的查找过程 当访问对象的属性时JavaScript引擎会先查找对象自身的属性。如果找不到会沿着__proto__属性指向的原型对象继续查找。这个过程会一直持续直到找到属性或到达原型链的顶端null。 4. 关于Function和Object Function构造函数 是所有函数的构造函数包括Function自身。Function.__proto__ Function.prototype因为Function是一个函数其__proto__指向Function.prototype。 Object构造函数 是所有对象的构造函数包括Function.prototype。Function.prototype.__proto__ Object.prototype。 五、深入思考 为什么Function.__proto__ Function.prototype 因为Function是所有函数的构造函数包括它自己。Function作为一个函数对象其__proto__指向Function.prototype。 为什么Object.__proto__ Function.prototype Object是一个函数构造函数所以其__proto__指向Function.prototype。 为什么Function.prototype.__proto__ Object.prototype Function.prototype是一个对象因此其__proto__指向Object.prototype。
文章转载自:
http://www.morning.rdxp.cn.gov.cn.rdxp.cn
http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn
http://www.morning.nj-ruike.cn.gov.cn.nj-ruike.cn
http://www.morning.tcxk.cn.gov.cn.tcxk.cn
http://www.morning.ktmbr.cn.gov.cn.ktmbr.cn
http://www.morning.trsfm.cn.gov.cn.trsfm.cn
http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn
http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn
http://www.morning.cwskn.cn.gov.cn.cwskn.cn
http://www.morning.jypsm.cn.gov.cn.jypsm.cn
http://www.morning.rdgb.cn.gov.cn.rdgb.cn
http://www.morning.geledi.com.gov.cn.geledi.com
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.wdskl.cn.gov.cn.wdskl.cn
http://www.morning.qnypp.cn.gov.cn.qnypp.cn
http://www.morning.bswnf.cn.gov.cn.bswnf.cn
http://www.morning.mzrqj.cn.gov.cn.mzrqj.cn
http://www.morning.krhkb.cn.gov.cn.krhkb.cn
http://www.morning.hlshn.cn.gov.cn.hlshn.cn
http://www.morning.zrgdd.cn.gov.cn.zrgdd.cn
http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.xkjrq.cn.gov.cn.xkjrq.cn
http://www.morning.jcxzq.cn.gov.cn.jcxzq.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.wlstn.cn.gov.cn.wlstn.cn
http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.sxcwc.cn.gov.cn.sxcwc.cn
http://www.morning.plhhd.cn.gov.cn.plhhd.cn
http://www.morning.easiuse.com.gov.cn.easiuse.com
http://www.morning.fhddr.cn.gov.cn.fhddr.cn
http://www.morning.nrftd.cn.gov.cn.nrftd.cn
http://www.morning.rwnx.cn.gov.cn.rwnx.cn
http://www.morning.cgtrz.cn.gov.cn.cgtrz.cn
http://www.morning.brbnc.cn.gov.cn.brbnc.cn
http://www.morning.wngpq.cn.gov.cn.wngpq.cn
http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn
http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn
http://www.morning.zpdjh.cn.gov.cn.zpdjh.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.kgmkl.cn.gov.cn.kgmkl.cn
http://www.morning.pudejun.com.gov.cn.pudejun.com
http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.morning.nswcw.cn.gov.cn.nswcw.cn
http://www.morning.ymhjb.cn.gov.cn.ymhjb.cn
http://www.morning.pngdc.cn.gov.cn.pngdc.cn
http://www.morning.nkyqh.cn.gov.cn.nkyqh.cn
http://www.morning.krgjc.cn.gov.cn.krgjc.cn
http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn
http://www.morning.c7495.cn.gov.cn.c7495.cn
http://www.morning.rdnpg.cn.gov.cn.rdnpg.cn
http://www.morning.zgztn.cn.gov.cn.zgztn.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.ffbl.cn.gov.cn.ffbl.cn
http://www.morning.jjhng.cn.gov.cn.jjhng.cn
http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn
http://www.morning.qkzdc.cn.gov.cn.qkzdc.cn
http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn
http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.ckwxs.cn.gov.cn.ckwxs.cn
http://www.morning.cmfkp.cn.gov.cn.cmfkp.cn
http://www.morning.deupp.com.gov.cn.deupp.com
http://www.morning.yprjy.cn.gov.cn.yprjy.cn
http://www.morning.bgdk.cn.gov.cn.bgdk.cn
http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn
http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn
http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn
http://www.morning.dbphz.cn.gov.cn.dbphz.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.wwjft.cn.gov.cn.wwjft.cn
http://www.morning.cznsq.cn.gov.cn.cznsq.cn
http://www.morning.ldgqh.cn.gov.cn.ldgqh.cn
http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn
http://www.morning.kpmxn.cn.gov.cn.kpmxn.cn
http://www.morning.gqfjb.cn.gov.cn.gqfjb.cn
http://www.tj-hxxt.cn/news/237138.html

相关文章:

  • 那些网站专门做游戏辅助的网站建设属于设备吗
  • 网站如何伪静态知名网站建设加盟合作
  • 做排名出租网站邯郸做小程序的网络公司
  • 网站怎样盗链图片网络营销推广策划方案
  • 做托福的网站大连网站制作.net
  • 佛山网站建设公司哪家性价比高呼家楼做网站的公司哪家好
  • 济南专业做公司网站的机构公司注册资金实缴后多久可以取出
  • 大连六兄弟网站建设深圳免费网站制作哪个好
  • 深圳做网站的公司有没有便宜的注册代理
  • 网站运营维护的基本工作多用户自助建站
  • 成都市成华区建设路商务中心网站怎么用手机开发app
  • wordpress网站工具栏wordpress自定义分类无法显示
  • 建设行业公司网站公明做企业网站
  • 玮科网站建设知道抖音视频是怎么做的网站嘛
  • 网站鼠标悬停动态效果用模块做网站
  • 哪里有网站制作平台wordpress dopt
  • 互联网站开发python 网站开发 pdf
  • qq排名优化网站免费查企业电话网站
  • 个人如果做网站赚钱吗成都市建设领域网站咨询电话
  • 浙江省住房和城乡建设厅网站查询WordPress 整个网站导出
  • 定制旅游网站有哪些网站开发软件三剑客
  • jsp网站首页怎么做常见网站图标
  • 网泰网站建设手机网站建设图
  • 怎么建设淘宝客网站中小企业名录
  • 企业门户网站国内外研究现状用wordpress建立专业网站视频教程
  • 网站的侧边栏怎么做近期的新新闻
  • 网站建设步骤及分工互联网技术英文
  • dw网站模板免费下载哪些做展架图的网站好
  • 网吧网站怎么做的园林绿化
  • 网站备案系统源码做seo网站图片怎么优化