jQuery一段代码的实现过程

jQuery就是一个函数,接收一个参数,然后返回一个方法对象来操作DOM。

window.jQuery = function (nodeorSelector) {
let nodes = {};
if (typeof nodeorSelector === 'string') {
    let temp = document.querySelectorAll(nodeorSelector);
    for (let i = 0; i < temp.length; i++) {
        nodes[i] = temp[i];
    }
    nodes.length = temp.length;
} else if (nodeorSelector instanceof Node) {
    nodes = {
        0: nodeorSelector,
        length: 1
    }
}
nodes.addClass = function (classes) {
    for (let i = 0; i < nodes.length; i++) {
        nodes[i].classList.add(classes)
    }
}
nodes.setText = function (text) {
    if (text === undefined) {
        let texts = [];
        for (let i = 0; i < nodes.length; i++) {
            texts.push(nodes[i].textContent)
        }
        return texts;
    } else {
        for (let i = 0; i < nodes.length; i++) {
            nodes[i].textContent = text;
        }
    }
}
return nodes;
}
window.$ = jQuery;
var $div = $('div');
$div.addClass('red');
$div.setText('hi')

上述代码将一个函数赋值给window.jquey,然后更改名字为$,
通过$('xxx').方法就可以调用window.jquey里面的方法,不用担心冲突等问题,使用也更方便一些

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端开发者丨http请求 https:www.rokub.com 前言见解有限, 如有描述不当之处, 请帮忙指出,...
    麋鹿_720a阅读 11,025评论 11 31
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 9,766评论 1 52
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,203评论 0 1
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,665评论 0 5
  • 花落方知轻风晚 亭山月影芳菲残 莫愁肠 新荷连天碧柳妆初成 蝉鸣骤减夜声静 流萤隐匿弄莲心 不知味 梁间燕去枫火照...
    奏世华章阅读 257评论 0 0