本文主要讲解“什么是Javascript对象原型”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖学习“Javascript对象的原型是什么”!
JavaScript通常被描述为基于原型的语言。每个对象都有一个原型对象,该对象将其原型作为模板,并从原型继承方法和属性。
一个对象也可以有一个原型,并从原型中一层一层地继承方法和属性,等等。这种关系通常被称为原型链,它解释了为什么一个对象具有在其他对象中定义的属性和方法。
对象原型Prototype
1、方法过载
使用以下代码创建一个kitten构造函数:
functionCat(名称,颜色){ this.name=namethis.color=colorThis.run=function(){alert("一只" this.color "小猫飞过.");}这个。eat=function () {alert (this。名字“想吃鱼”);} } var cat1=NewCat();上面用这个定义的所有方法,这代表一个新的实例,将在创建一个新实例时创建该方法的一个副本。
是不是有点多余?怎么解决?
分析:在实例级定义每种类型每次都具有的特征有点浪费,所以如果可以在类级定义,那么每个实例都会自动具有类的一般特征。这里我们将使用原型。
2、原型的使用
2.1.原型属性
在JavaScript中,函数本身也是一个包含“方法”和“属性”的对象。比如我学习了一些方法(比如constructor())和属性(比如name和length)等等。
现在来介绍一个新的属性--原型Prototype。
我们创建的每个函数都有一个原型属性,它指向一个对象,该对象的目的是包含特定类型的所有实例都可以共享的属性和方法。
//定义一个构造函数functionPerson(name,Age){}//函数console . debug(person . length)/=2//构造函数console . debug(person . constructor)/==function()//prototype type console . debug(person . prototype)/==object//prototype content console . debug(person . prototype)//每个类(构造函数)都有一个prototype属性,创建这个类的实例对象的prototype对象的所有属性都会立即赋予要创建的对象
2.2.原型操作
设置:
构造函数。原型。属性=属性值构造函数。原型。方法=函数值:
对象。属性对象。方法()2.3。属性访问的优先级
本机属性优先于原型属性。遵循自上而下的搜索:
2.4,神秘__proto__属性
直接通过object.name访问对象的属性
神奇的用户。的__proto__属性,它实际上是相应用户类的原型属性。
console.debug(用户。_ _ proto _ _===user . proto typ);//==true;
_proto_ property属于对象实例,即原型属性类的属性。
每个对象创建后,都会自动建立一个对原型的引用,这样对象就具备了type prototype的所有特性。
可以通过对象直接访问对象的__proto__(原型)属性中的成员。会员。
至此,相信大家对“Javascript对象的原型是什么”有了更深的理解,让我们在实践中去做吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107414.html