这篇文章主要介绍“JavaScript中原型及原型链的介绍”,在日常操作中,相信很多人在JavaScript中原型及原型链的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript中原型及原型链的介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
原型对象
原型对象:我们创建的每个函数都会有一个 prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象就是通过调用构造函数而创建的那个对象实例的原型对象。
简单来说,无论什么时候,只要创建一个新的函数,就会为该函数创建一个prototype属性,这个属性指向函数的原型对象。
// 构造函数 Person
function Person() {
};
// 原型添加属性
Person.prototype.name = 'Tom';
Person.prototype.sayName = function () {
alert(this.name);
};
// 创建实例
var person1 = new Person();
person1.sayName(); // Tom
// prototype属性指向函数的原型对象
console.log(Person.prototype); // {name: "Tom", sayName: ƒ, constructor: ƒ}
123456789101112131415161718
原型对象的用途:包含可以由特定类型的所有实例共享的属性和方法。
使用原型对象的好处:可以让所有实例共享它所包含的属性和方法。
constructor:所有的原型对象都会有一个constructor属性,这个属性是一个指向prototype属性所在函数的指针,也就是指向与之关联的构造函数。
// constructor属性指向与之关联的构造函数 郑州祛胎记治疗价钱 http://www.zykdbhk
console.log(Person.prototype.constructor); // ƒ Person() { }
console.log( Person.prototype.constructor === Person ); // true
__proto__:当调用构造函数创建一个新实例后,该实例内部将包含一个指针__proto__,指向构造函数的原型对象。__proto__属性存在于实例与构造函数的原型对象之间。
// __proto__属性指向该构造函数的原型对象
console.log( person1.__proto__ ); // {name: "Tom", sayName: ƒ, constructor: ƒ}
console.log( person1.__proto__ === Person.prototype ); // true
到此,关于“JavaScript中原型及原型链的介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。