标签:__ name 对象 这么回事 Person say 原型 篇文章
原型的概念及使用
原型是什么:
每个函数和类都有一个显式原型prototype
,里面存放一些公用的属性和方法,这些方法和属性,每一个实例都能访问到。而且每一个实例的对象都有一个隐式的原型__proto__
,对象的隐式原型都指向构造这个对象的函数或类的显式原型。
看到这里可能会有点晕,请看下面代码演示
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.say=function(){
console.log(`我的名字叫做${this.name},我的年龄是${this.age}`)
}
var p1 = new Person("小张",18);
var p2 = new Person("小红",16);
p1.say();
//我的名字叫做小张,我的年龄是18
p2.say();
//我的名字叫做小红,我的年龄是16
console.log(p1);
这里有一个函数Person
,上面有说过,每一个函数或类,都有显式原型prototype
,然后在Person.protype
里定义了一个say()
方法。
接下来通过函数Person
创建了p1和p2对象,我们定义的时候只给对象传了两个参数,并没有做其他操作,但是通过执行对象的say()
方法,也是可以正常打印,正是对象调用了原型prototye
里面的公用方法。
下面带大家看一下隐式原型__proto__
里面的参数都是有哪些
原型链:
在对象使用属性或调用方法的时候,会优先在自身的属性中寻找,如果找不到就去隐式原型__proto__
里面依次寻找,如果找不到就返回null
,我们把__proto__
与prototype
的链条关系称为“原型链”。js对象就是通过原型链,实现属性的继承。
标签:__,name,对象,这么回事,Person,say,原型,篇文章 来源: https://blog.csdn.net/weixin_48179599/article/details/106881593
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。