大家好!
相信各位都有看到标题了,今天开始就要实作函式库了。
我们进入今天的主题吧!
很久之前,jQuery 因为简单的写法和方便的功能而大受欢迎。
但是,对於人们更加重视自我需求的现在,jQuery 却是载入网页的绊脚石,原因是当时方便的功能,现在的浏览器都能实现了,甚至网页通常都只会使用到 jQuery 的其中几个功能而已。
自己的需求只有自己知道,我们何不量身打造一个终身受用的函式库呢?
首先,为了让建立的新物件都有共用方法,必须使用建构式:
const Felix = function (selector) {
/* 不使用 new 运算子也能直接呼叫建构式 */
if (!(this instanceof Felix)) return new Felix(selector);
if (!selector) return;
/* 如果 selector 为字串,视为选择器;
反之,则视为物件(window 或 document) */
selector = typeof selector === 'string' ?
document.querySelectorAll(selector) :
[selector];
/* 将查询到的元素写入物件 */
selector.forEach(function (v, i) {
this[i] = v;
}.bind(this));
this.length = selector.length;
};
试试建立一个新物件:
var body = new Felix('body');
console.log(body, typeof body); // Log: { 0: body, length: 1 }, 'object'
没错,这就是我们要的结果,使用 CSS 选择器查询网页元素,并回传一个新物件。
这样就完成第一个函式了!
差不多也到尾声了,接下来我们要打造的是函式库的共用方法。
如果对文章有任何疑问,也欢迎在下方提问和建议!
我是 Felix,我们明天再见!
>>: Day19 - 使用Django进行自动化测试 (1)
好的,接下来就来介绍剩下的型别~分别是 Union、Aliases、Literal。 Union 型...
Canary Deployments 当要使用一部分用户测试生产中的新部署时,请使用 Canary ...
这题反正就是要more and more... Maximum Subarray 题目连结:http...
程序版本: Flutter 2.2.1 使用JSONPlaceholder为 Free fake A...
前面我们有说过,在Python的世界中,万物皆物件。但物件只是这个世界的最小单位而已,接下来让我们认...