让前端飞

创建对象(类)方法

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(); //这里继承方法
···
上一篇下一篇

猜你喜欢

热点阅读