原型(方法:prototype)
Person.prototype.lastName = 'yue';
Person.prototype.say = function () {
console.log('hehe');
}
function Person (name,age,sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
var person = new Person('zixuan',18,'femle');
var person1 = new Person('xx',15,'male');
原型的应用
Car.prototype = {
height : 1400,
lang : 4900,
carName : 'BMW'
}
function Car(color,owner)
{
this.color = color;
this.owner = owner;
}
var car = new Car('white', 'yzx');
var car1 = new Car('blue', 'xx');
原型链
Grand.prototype.lastName = "yue";
function Grand() {
}
var grand = new Grand();
Father.prototype = grand;
function Father(){
this.name = 'xx';
}
var father = new Father();
Son.prototype = father;
function Son (){
this.habbit = 'smoking';
}
var son = new Son();
创建有原型对象方法(更加灵活) var obj = Object.creat(原型)
var obj = {
name:'sunny',
age:18
};
var obj1 = Object.create(obj);
call
function Person (name,age,sex) {
this.name = name;
this.age = age;
}
var person = new Person('yzx',18);
var obj = {
}
Person.call(obj,'cc',20);
apply
function Person (name,age,sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
function Student (name,age,sex,tel,grade) {
Person.apply(this,[name,age,sex]);
this.tel = tel;
this.grade = grade;
}
var student = new Student('sunny',123,'femle',123456,2020);