Skip to content

写一个贴近实际开发原型链继承的例子 #11

@lfb

Description

@lfb

写一个封装DOM查询的例子

function Elem(id) {
    this.elem = document.getElementById(id)
}

Elem.prototype.html = function (val) {
    var elem = this.elem;
    if (val) {
        elem.innerHTML = val;
        return this; // 链式操作,通过new调用构造函数,this指向的是它的构造函数创建出来的对象

    } else {
        return elem.innerHTML;
    }
}

Elem.prototype.on = function (type, fn) {
    var elem = this.elem;
    elem.addEventListener(type, fn);

    return this;
}

// 用法
var box = new Elem('box');
console.log(box.html())

box.html("<p>hello world</p>")
    .on('click', function () {
        console.log('click');
    })
    .html("<p>hello javascript</p>")

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions