创建对象(类)方法
2020-06-07 本文已影响0人
阿毛啊726
1 工厂函数:返回一个对象
function creatdom() {
var obj={}
obj.name="zzz"
obj.age=10
obj.gets=function () {
console.log(this.name);
}
return obj
}
2 构造函数方法:每创建一个实例对象,方法都会创建,占用内存
function Person(name,age) {
this.name=name;
this.age=age
this.getname=function () {
console.log(this.name);
}
}
3 原型方法:在原型函数中定义属性和方法(属性不能灵活定义)
function F() { }
F.prototype={
name:"zzz",
age:11,
gets(){
console.log(this.age);
}
}
var f=new F();
console.log(f.name);
console.log(f.age);
f.gets()
4 构造函数和原型方法:在构造函数中定义属性,原型中定义方法(使用最广)
function F(name,age) {
this.name=name;
this.age-age
}
F.prototype={
gets(){
console.log(this.age);
}
}
继承
用call继承属性,原型指向父类实例对象继承方法
function SuperType(name) {
this.name = name;
}
SuperType.prototype = {
sayName : function() {
window.alert(this.name);
}
};
function SubType(name, age) {
SuperType.call(this, name); //在这里继承属性
this.age = age;
}
SubType.prototype = new SuperType(); //这里继承方法
···