伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

先从_proto_下手理解原型--原型学习(一)

来源:本站原创 浏览:188次 时间:2021-06-19

  给自己关于原型的学习分了一个大类,主要跟踪学习js的原型。--来自《JavaScript面向对象编程指南》的笔记,这本书难度适中,适合我们这种js基础不牢的人学习。

  原型这块有两个属性:prototype 和 _proto_,容易别混淆,看了前面的基础,决定从这里开始整理我的学习笔记。

     先上上代码理解:

     

var  monkey = { //声明一个对象    feeds : "bananas", //定义一些属性    breathes: "air"};function Human() { //创建一个构造函数 Human} Human.prototype = monkey; //将Human的原型指向 monkeyvar adou = new Human(); //实例化一个Human对象adou.feeds = "rice";������,���۶� //对这个对象添加属性,这里覆盖原型中的同名属性,(因为对象自身属性会高于原型属性)adou.hobby = "sleep";//添加一个原型中没有的属性console.log(adou.feeds); //riceconsole.log(adou.hobby); //sleep

 

    以上的代码很简单, 最后输出的都是我们自己知道的,包括接下来,下面这行代码的输出也是我们所料想的,

    console.log(adou.breathes); //air

    我们在实例化adou这个对象的时候,并没有给他添加breathes这属性,为什么会输出air的值呢,有人说,是因为new的时候,继承了原型的属性和方法,对,是这样的,但是,它靠什么继承或者说靠什么找到monkey的breathes的属性呢?靠的就是这么一个神秘的链接 ._proto_   。我们再来想想,adou是 human 实例化出来的,human 的原型指向了monkey,也就有了monkey的方法属性,adou本身没有这个breathes属性的,在调用adou.breathes的时候,就先从adou这个对象中找,没有找到,然后就去它的原型中,欸,找到了,然后就返回了这个属性值。 也就是说 adou._proto_ === monkey; 返回值是 ture

到这里,我们就可以理解这个原型链了:实例化出来一个对象,然后查找他的属性时候,会先从他的本身去查找,如果没有找到,再从他的原型中去找,找到则返回值,找不到就返回undefined。这个查找的过程就是原型链查找的过程。

还有一个需要区分的是_proto_ 和prototype: _proto_是一个实例对象的属性,prototype是一个构造器函数的属性。看图理解:

 打开object 看看就知道了,就像这样的

 

  adou._proto_ 里面有这个_proto_ : object 

 结束语:里面有两个词 constructor 和prototype 这个是原型学习绕不开的点,我先从原型链中讲出这个链到底什么,然后再细细的将前面饶人的小点。继续开贴!

 如有错误之处,敬请批评指出!

每日一句:Past studies have found that people have a tendency to use more positive-inflected words than negative ones ― "fantastic" rather than "awful"。

翻译:以往的研究表明,相比消极性的词汇,人们倾向于使用更具积极意味的词汇。比如,更喜欢用“美妙的(fantastic)”而非“糟糕的(awful)”。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net