美文网首页我爱编程
28 进阶:jQuery初探

28 进阶:jQuery初探

作者: Ga611 | 来源:发表于2018-06-27 21:00 被阅读0次

课堂笔记

  • 在判断相等与否时,应该只用“===”或“!==”而不用“==”或“!=”;在“===”的情况下,只有复杂对象数据类型与NaN与自身不等,其他都相等
  • 优化的小tip:代码相似的部分存在优化的可能
  • 命名空间即范围(对象),将函数添加到这个对象中,即给函数一个命名空间,用于区分同名函数,避免覆盖全局变量,便于命名。
  • 怎么做到将API作为变量的方法,使得调用形式变得简单:向该变量的公有属性添加该方法,缺点是会造成原型臃肿和复杂。
  • 更好的设计方法是生成一个 构造函数,该构造函数返回一个对象,将你的API放入该对象,这是一种无侵入式方法

造两个简单版的jQuery函数

window.jQuery = function (selector) {
    let nodes = {}
    let temp = document.querySelectorAll(selector);
    for (let i = 0; i < temp.length; i++) {
        nodes[i] = temp[i]
    } //生成中间变量temp是为了得到一个纯净的伪数组,querySelectorAll()生成的是一个不是我们所希望的,有多余原型的伪数组;
    nodes.length = temp.length
    nodes.addClass = function (className) {
        for (let i = 0; i < this.length; i++) {
            this[i].classList.add(className)
        }
        return this
    }
    nodes.setText = function (text) {
        for (let i = 0; i < this.length; i++) {
            this[i].textContent = text
        }
        return this
    }
    return nodes;
}
window.$ = jQuery

var $div = $('div')
$div.addClass('red') // 可将所有 div 的 class 添加一个 red
$div.setText('hi') // 可将所有 div 的 textContent 变为 hi

相关文章

  • 28 进阶:jQuery初探

    课堂笔记 在判断相等与否时,应该只用“===”或“!==”而不用“==”或“!=”;在“===”的情况下,只有复杂...

  • 28进阶 初识jQuery

    jQuery就是一个javascript函数库学习资料推荐:阮一峰 jQueryjQuery API文档 http...

  • Android MVP

    Android MVP初探 Android MVP进阶 Android MVP高级 Android MVP扩展

  • 初探jQuery

    实现一个jQuery的API 传一个选择器或节点 为nodes添加类,并且遍历nodes 遍历nodes,并且改变...

  • jQuery 初探

    在网页中,常常使用 HTML、CSS、javascript HTML 用于页面的布局,以及一些组件的布放 CSS ...

  • 初探jQuery

    封装一个函数html部分 选项1 选项2 选项3 选项4 选项5 js部分function getSi...

  • jQuery初探

    造两个简单版的jQuery函数 面试题

  • jQuery初探

    1. 基础 什么是jQuery对象? --- 就是通过jQuery包装DOM对象后产生的对象。jQuery对象是j...

  • Jquery初探

    node.querySelectorAll获取到的是一个伪数组,为了以后使用方便应该变成一个简单的对象。 一个对象...

  • 初探jQuery

    jQuery API的实现 自己模拟jQuery的一个API预览:http://js.jirengu.com/pa...

网友评论

    本文标题:28 进阶:jQuery初探

    本文链接:https://www.haomeiwen.com/subject/ygpxsftx.html