JS 25 - 举一反三,扩充专属於自己的函式库!

大家好!

今天要介绍的是最後一个静态方法。
我们进入今天的主题吧!


程序码

Felix.prototype.attach = Felix.attach = function (obj) {
    return Object.keys(obj).reduce(function (a, v) {
        if (!a[v]) a[v] = obj[v];
        return a;
    }, this);
};

上方的写法等价於:

Felix.attach = function (obj) {
    return Object.keys(obj).reduce(function (a, v) {
        if (!a[v]) a[v] = obj[v];
        return a;
    }, this);
};
Felix.prototype.attach = Felix.attach;

实测

/* 扩充原型方法 */
Felix.prototype.attach({
    on: function (type, callback, options) {
        Felix.forEach(this, function () {
            this.addEventListener(type, callback, options);
        });
    },
    off: function (type, callback) {
        Felix.forEach(this, function () {
            this.removeEventListener(type, callback);
        });
    }
});

这十天,函式库收录了经常使用的方法,接下来就要由各位扩充函式库了!
如果对文章有任何疑问,也欢迎在下方提问和建议!
我是 Felix,我们明天再见!


<<:  D26 / 要怎麽放 Compose 进我的专案? - Compose View

>>:  Day25 NodeJS中的前端框架 I

【第二十三天 - XSS Lab(2)-1】

Q1. XSS Lab(2)-1 建议也可以看 XSS Lab(1) 文章,alert() 与 pr...

Day3.编译器运作流程介绍

编译器做了什麽? 我们知道使用机器指令撰写程序码是非常麻烦的事情,也会使开发程序的效率不高,编译器就...

[Day 25] vue-router路由传送参数 props

昨天做好了节庆活动的清单,但是目前只能看到大纲,没办法看到活动详情, 所以在渲染清单的同时,要帮他加...

专案是实现使命、愿景,及战略的具体努力!

分享一些多年来专案管理及工作的心得: 专案是实现使命、愿景,及战略的具体努力。使命感、远见与作梦的能...

Day 12:vim 配色方案

俗话说人要衣装,佛要金装,我们的 vim 也得要有漂亮的外观。今天就让我们来看看如何调教调整 vim...