跟进之前的流程图
var obj = {
key: 12,
log: function () {
console.log(this.key);
},
};
obj.log(); /* => 12 */
var log2 = obj.log;
log2(); /* => undefined */
var log3 = obj.log.bind(obj);
log3(); /* => 12 */
/* so */
var $ = document.querySelectorAll.bind(document);
/* > < */
var $ = function () {
var _args = Array.prototype.slice.call(arguments);
return Array.prototype.slice.call(
document.querySelectorAll.apply(document, _args),
);
};
var $ = function (selector) {
var els = document.querySelectorAll.bind(document);
return Array.prototype.slice.call(els(selector));
};