构造函数

构造函数的特点:
 1、构造函数的规范,首字母大写
 2、使用的this来指向即将要生成的实例对象
 3、使用New来生成实例对象
栗子:

/*构造函数*/
function Student(sname,age){
  this.sname=sname;
  this.age=age;
  this.showName = function(){
        alert(this.sname);    
    } 
}

可以通过call或者apply改变this指针的指向。
call 与 apply 的差别:
B.call(A, args1,args2);即A对象调用B对象的方法。
B.apply(A, arguments);即A对象应用B对象的方法。

栗子:

/*实现了继承*/
function Student(name){
  this.name = name;
  this.sname = function(){
        alert(this.name);    
    }    
}
function Hf(name){
 Student.call(this,name); 
}
var hf = new Hf("feifei");
hf.sname();

原型(prototype):保存多个子对象共享的成员的对象
1、每个对象都具有一个名为__proto__的属性(原型属性);
2、每个构造函数(构造函数标准为大写开头,如Function(),Object()等等JS中自带的构造函数,以及自己创建的)都具有一个名为prototype的方法(注意:既然是方法,那么就是一个对象(JS中函数同样是对象),所以prototype同样带有__proto__属性);
3、每个对象的__proto__属性指向自身构造函数的prototype;

原型链:由各级对象的__proto__逐级向上引用形成的多级继承关系

参考:https://www.cnblogs.com/lengyuehuahun/p/5643625.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值