JS之中构造函数格式上与函数定义相同,之前java基础之中我们通常用new来生成对象,那么构造函数也如此。
一、简单的构造函数
function Obj(name,age){
this.name=name;
this.age=age;
}
var obj1=new Obj("zhamg",12);
构造函数我们这样来理解,函数构造时产生了一个this对象然后通过给this对象附上属性,最后返回this对象。
二、原型
当每一个构造函数产生时会产生一个prototype对象,称作原型,构造函数的产生肯定不是为了服务某一个对象的,那么相同属性可以定义在原型之中,便于实际操作。
Obj.prototype={
len:123,
name:"zz"
};
这样定义后后面实际创建的对象可以访问到原型之中的内容。
原型定义在构造函数之上,是构造函数对象的公有祖先。
三、构造函数内容的增删查改
增查改都是直接拿数据操作定位到就行,只有删除需要方法,delete 定位到属性
四、原型链
prototype的相连接即形成了原型链,子对象继承父亲prototype中的属性以及方法。
bus.prototype={
"name-header": "a",
"like": function(){
}
}
function bus(number,time){
this.number=number;
this.time=time;
}
function obj(name,age){
this.name=name;
this.age=age;
}
obj.prototype=bus.prototype;
这样就形成了原型链,功能也更加强大了。
关于构造函数的引申还有一个call apply这两个小编之后在另写一个博客跟大家一起分享。