欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript 构造函数prototype(原型)方法

程序员文章站 2022-03-10 15:10:07
...

prototype是典型面向对象语言,在js中经常用到class(类),类就是对象的方法,对象就是类的实例。

1.构造函数(constructor)
构造函数,就是提供了一个生成对象的模板并描述对象的基本结构的函数。

特点:
(1)一个构造函数,可以生成多个对象,每个对象都有相同的结构。
(2)构造函数的函数名首字母必须大写。

(3)内部使用this对象,来指向将要生成的对象实例。

(4)使用new操作符来调用构造函数,并返回对象实例。】

2.构造函数的缺点
(1)所有的实例对象都可以继承构造函数中的属性和方法。但是,同一个对象实例之间,无法共享属性。

(2)当每次调用new实例的时候都会创建一个方法,但是方法的属性都相同,内存地址不相同,也就是说即浪费资源,又没必要这样写。

3.prototype(原型)属性的作用
js中提供了prototype属性解决构造函数的对象实例之间无法共享属性的缺点。原型对象上的所有属性和方法,都会被对象实例所共享。

js中每个数据类型都是对象(除了null和undefined),而每个对象都继承自另外一个对象,后者称为“原型”(prototype)对象,只有null除外,它没有自己的原型对象。

prototype,对于构造函数来说,是一个属性;对于对象实例来说,它是一个原型对象

4.prototype用法:

//构造函数
function dog(){
  pet: 'dog',
  color: 'yellow'
 }
 // 创建一个cat()实例,具有dog()相同的属性
 // 显示原型 prototype 构造函数上
 dog.prototype.brid= function() {
 }
 //__proto__  隐示原型 实例上
  var dog1= new dog()
  dog1.__proto__.b = 222

5.原型链(prototype chain

//原型链:一个构造函数的原型 = 另一个构造函数的实例
function cat( ) {

 }
cat.prototype = new dog()
相关标签: 课堂笔记