为了账号安全,请及时绑定邮箱和手机立即绑定
  • // 常见写法
    var $$ = ajQuery = function(selector) {
      this.selector = selector;
      return this;
    }
    ajQuery.fn = ajQuery.prototype = {
        selectorName:function(){
            return this.selector;
        },
        constructor: ajQuery
    }
    var a = new $$('aaa'); // 实例化
    // 得到选择器名字
    $("#test").html(a.selectorName());
    
    // 源码写法
    var $$ = ajQuery = function(selector) {
        // 把原型上的init作为构造器
        return new ajQuery.fn.init(selector);
    }
    
    ajQuery.fn = ajQuery.prototype = {
        name: "aaron",
        init: function(){
          console.log(this);
        },
        constructor: ajQuery
    }
    查看全部
    0 采集 收起 来源:分离构造器

    2022-07-14

    • 对象的构建

    类一:

    function aJQuery(){
        this.name = 'jQuery';
        this.sayName = function(){
            return this.name;
        }
    }
    var a = new aJQuery();
    var b = new aJQuery();
    var c = new aJQuery();

    类二:

    function aJQuery(){
        this.name = "jQuery";
    }
    aJQuery.prototype = function(){
        sayName:function(){
            return this.name;
        }
    }
    var a = new aJQuery();
    var b = new aJQuery();
    var c = new aJQuery();
    查看全部
    0 采集 收起 来源:对象的构建

    2022-07-13

  • 使用jQuery.noConflict();方法让出$使用权,防止引入多插件产生正面冲突。

    查看全部
  • 下面有一个父元素ul,嵌套了一个li节点:
    • parent
    • child
    我们现给li绑定一个事件,这个很简单,找到ul下面的li,绑定即可: var aaron = $("#aaron"); aaron.find('li').click(function(){ alert(1); //1 }) 此时我又想给父元素绑定一个事件,我们是不是又要在aaron上绑定一次事件呢?是的,上面代码通过find处理后,此时的上下文是指向每一个li了,所以必须要重新引用aaron元素(li的父元素),然后再绑定click事件: aaron.click(function(){ alert(2); //1 }) 这样会不会很麻烦,所以jQuery引入一个简单的内部寻址的机制,可以回溯到之前的Dom元素集合,通过end()方法可以实现: aaron.find('li').click(function() { alert(1); }).end().click(function() { alert(2); })
    查看全部
  • 而每个jQuery对象都有三个属性:context、selector和prevObject,其中的prevObject属性就指向这个对象栈中的前一个对象,而通过这个属性可以回溯到最初的DOM元素集中。
    查看全部
  • 这个原理就超简单了,如下代码: aQuery().init().name() 分解: a = aQuery(); a.init() a.name() 把代码分解一下,很明显实现链式的基本条件就是要实例对象先创建好,调用自己的方法
    查看全部
  • 步骤: (1) 解析HTML结构。 (2) 加载外部脚本和样式表文件。 (3) 解析并执行脚本代码。 (4) 构造HTML DOM模型。//ready (5) 加载图片等外部文件。 (6) 页面加载完毕。//load 从上面的描述中大家应该已经理解了吧,ready在第(4)步完成之后就执行了,但是load要在第(6)步完成之后才执行。
    查看全部
  • eady与load谁先执行: 大家在面试的过程中,经常会被问到一个问题:ready与load那一个先执行,那一个后执行?答案是ready先执行,load后执行。
    查看全部
  • jQuery内部就采用了一种叫“类数组对象”的方式作为存储结构,所以我们即可以像对象一样处理jQuery操作,也能像数组一样可以使用push、pop、shift、unshift、sort、each、map等类数组的方法操作jQuery对象了。
    查看全部
  • var ajQuery = function(a,b){

     return ajQuery.fn.prototype.init(a,b);

    }

    ajQuery.fn = ajQuery.prototype = {

        conturctor:ajQuery,

    init:function(){

    return this;

    }

    }

    查看全部
    0 采集 收起 来源:对象的构建

    2021-03-27

  • $.noConflict(); //让出控制权

    查看全部
  • 查看全部

  • get与eq的区别

     eq返回的是一个jQuery对象,get返回的是一个DOM对象。举个例子:

    $( "li" ).get( 0 ).css("color", "red"); //错误
    $( "li" ).eq( 0 ).css("color", "red"); //正确


    get方法本质上是把jQuery对象转换成DOM对象,但是css属于jQuery构造器的,DOM是不存在这个方法的,如果需要用jQuery的方法,我们必须这样写:

    var li = $( "li" ).get( 0 );
    $( li ).css("color", "red"); //用$包装



    查看全部
    0 采集 收起 来源:get与eq的区别

    2020-12-15

  • DOMContentLoaded 这块属于什么知识
    查看全部
  • undefined并不是JavaScript的保留字
    查看全部

举报

0/150
提交
取消
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!