JavaScript原型

原型:
定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该结构函数产生的对象,可以继承该原型的属性和方法。原型也是对象。

prototype–>原型,系统自带的,在函数定义前就已经定义好了。
一,函数对象
所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型) 所有函数拥有prototype属性(显式原型)(仅限函数) 原型对象:拥有prototype属性的对象,在定义函数时就被创建

举个例子:

 function Person(){
    
    }
var person = new Person();

在上面我们创建了一个构造函数,这个函数在定义前就有了一个原型:Person.prototype,原型是一个对象,其他对象可以通过它实现属性继承。

举个例子:

Person.prototype.name = 'HE';
function Person(){

}
var person = new Person();

在控制台上查阅person.name---->‘HE’

因为在构造函数中,没有name这个属性,所以它就会去继承它的原型的name,

如果构造函数有name这个属性,那么它就会输出自己的name。

Person.prototype.name = 'HE';
function Person(){
   this.name = 'Liu';

}
var person = new Person();

在控制台上查阅person.name---->‘Liu’

如果原型上有name的属性值,可是函数内部也有name的属性值,取的是函数内部的属性值。

利用原型的特点和概念,可以提取共有属性

举个例子:

   function Car(color,owner){
   	  this.owner =  owner;
   	  this.color = color;
   	  this.height = 1400;
     this..lang = 4900;
      this.carName = "BMW";
   }
   var car = new Car('red','Jeslie He');
   var car1 = new Car('blue','student He');

构造一个Car函数,然后在自己的函数体内有五个属性,在下面我们定义两个执行函数,分别是car和car1,执行的时候,都会分别去执行以下属性,除了颜色和owner是不同的,其余三个属性都是一样的,那么我们就可以用原型来提取公有属性。

Car.prototype.height = 1400;
   Car.prototype.lang = 4900;
   Car.prototype.carName = "BMW";

   function Car(color,owner){
   	  this.owner =  owner;
   	  this.color = color;
   }
   var car = new Car('red','Jeslie He');
   var car1 = new Car('blue','student He');

这样就可以优化代码,和提高运行效率。

原型也有增删改查,与对象的差不多一样。

 Person.prototype.LastName = 'Deng';

function Person(name){
	this.name = name;
}
var person = new Person('Jeslie He');

Person.prototype.LastName = ‘James’;---->改
Person.prototype.form = ‘China’;–>增
person.LastName -->查
删:在要删的元素前面加delete;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值