简单了解prototype原型

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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值