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

企业如何建公司网站百度官网网址

企业如何建公司网站,百度官网网址,做个网站的价格,德州北京网站建设一、原型 JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个…

一、原型

JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象

当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾

准确地说,这些属性和方法定义在Object的构造器函数(constructor functions)之上的prototype属性上,而非实例对象本身

下面举个例子:

函数可以有属性。 每个函数都有一个特殊的属性叫作原型prototype

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

控制台输出

{constructor: ƒ doSomething(),__proto__: {constructor: ƒ Object(),hasOwnProperty: ƒ hasOwnProperty(),isPrototypeOf: ƒ isPrototypeOf(),propertyIsEnumerable: ƒ propertyIsEnumerable(),toLocaleString: ƒ toLocaleString(),toString: ƒ toString(),valueOf: ƒ valueOf()}
}

上面这个对象,就是大家常说的原型对象

可以看到,原型对象有一个自有属性constructor,这个属性指向该函数,如下图关系展示

二、原型链

原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法

在对象实例和它的构造器之间建立一个链接(它是__proto__属性,是从构造函数的prototype属性派生的),之后通过上溯原型链,在构造器中找到这些属性和方法

下面举个例子:

function Person(name) {this.name = name;this.age = 18;this.sayName = function() {console.log(this.name);}
}
// 第二步 创建实例
var person = new Person('person')

根据代码,我们可以得到下图

下面分析一下:

  • 构造函数Person存在原型对象Person.prototype

  • 构造函数生成实例对象personperson__proto__指向构造函数Person原型对象

  • Person.prototype.__proto__ 指向内置对象,因为 Person.prototype 是个对象,默认是由 Object函数作为类创建的,而 Object.prototype 为内置对象

  • Person.__proto__ 指向内置匿名函数 anonymous,因为 Person 是个函数对象,默认由 Function 作为类创建

  • Function.prototypeFunction.__proto__同时指向内置匿名函数 anonymous,这样原型链的终点就是 null

三、总结

下面首先要看几个概念:

__proto__作为不同对象之间的桥梁,用来指向创建它的构造函数的原型对象的

每个对象的__proto__都是指向它的构造函数的原型对象prototype

person1.__proto__ === Person.prototype

构造函数是一个函数对象,是通过 Function构造器产生的

Person.__proto__ === Function.prototype

原型对象本身是一个普通对象,而普通对象的构造函数都是Object

Person.prototype.__proto__ === Object.prototype

刚刚上面说了,所有的构造器都是函数对象,函数对象都是 Function构造产生的

Object.__proto__ === Function.prototype

Object的原型对象也有__proto__属性指向nullnull是原型链的顶端

Object.prototype.__proto__ === null

下面作出总结:

  • 一切对象都是继承自Object对象,Object 对象直接继承根源对象null

  • 一切的函数对象(包括 Object 对象),都是继承自 Function 对象

  • Object 对象直接继承自 Function 对象

  • Function对象的__proto__会指向自己的原型对象,最终还是继承自Object对象

 

http://www.wooajung.com/news/26493.html

相关文章:

  • 公司建立网站semester at sea
  • 台州网站建设企业短视频seo关键词
  • 成都网站建设兼职百度推广管理平台登录
  • 有哪些网站是cms网站建设与网站设计
  • 建设部的网站今天重大新闻
  • 山东企业网站建设郑州seo使用教程
  • seo咨询seo诊断站长
  • 系统网站建设需求分析重庆森林壁纸
  • 免签接口wordpress专业seo关键词优化
  • 网站建设费用主要包括哪些内容百度竞价推广关键词优化
  • 网站建设需要的文案宣传渠道有哪些
  • vs2010做网站登陆界面app投放推广
  • 哪里有做外贸网站的湘潭seo优化
  • adobe xd可以做网站吗网站建设公司哪家好?
  • 个人能建什么样的网站企业培训课程清单
  • 新疆生产建设兵团建工集团网站十堰seo
  • 漯河网站推广多少钱东莞网站seo优化托管
  • 阳泉网站设计今日的新闻头条10条
  • 网站备案备案吗宁波seo网络推广定制多少钱
  • 群晖个人网站建设推广网站大全
  • 域名可以做网站吗温州云优化seo
  • 清远佛冈住房和城乡建设局网站郑州网络seo
  • 上海平台网站制作公司哪家好市场调研方法有哪些
  • 建站用哪个模板好seo关键词快速提升软件官网
  • 专门做外贸的的网站有哪些seo网站排名优化教程
  • 建立个人博客网站b2b网站大全
  • 新建网站需要多少钱百度关键词推广公司
  • 正邦设计电话seo搜外
  • 网站建设服务合同模板下载品牌推广内容
  • 网站后台里有网页代码没网络营销的主要推广方式