zoukankan      html  css  js  c++  java
  • jQuery-day01

    The Write Less,Do More
    • 避免命名污染 jQuery使用立即执行函数进行操作,分别有以下三种形式;
    (function(window,factory){
    factory(window);
    })(this,function(){
    return function(){
    // jQuery 调用逻辑
    }
    })
    
    (function(window, undefined) {
    var jQuery = function() {}
    // ...
    window.jQuery = window.$ = jQuery;
    })(window);
    
    • 通过对象get方法或者直接通过下标0索引就能转成DOM对象。例如:$('#id')[0]/$('#id').get(0) 获取dom
    // 通过进行this属性的绑定来模拟这种'类数组'表达;
    var aQuery = function(selector) {
    //强制为对象
    if (!(this instanceof aQuery)) {
    return new aQuery(selector);
    }
    var elem = document.getElementById(/[^#].*/.exec(selector)[0]);
    this.length = 1;
    this[0] = elem;
    this.context = document;
    this.selector = selector;
    this.get = function(num) {
    return this[num];
    }
    return this;
    }
    
    • jQuery中ready与load事件
    1. DOM文档加载的步骤:
    (1) 解析HTML结构。
    (2) 加载外部脚本和样式表文件。
    (3) 解析并执行脚本代码。
    (4) 构造HTML DOM模型。//ready
    (5) 加载图片等外部文件。
    (6) 页面加载完毕。//load
    
    • jQuery中进行多库共存$的处理
    // 为了解决这种多库用$情况,jq是用'让出'原则,可用jQuery进行替代,但是要在是用前调用$.noConflict(),方法实现如下:
    var 
    // Map over jQuery in case of overwrite
    _jQuery = window.jQuery,
    
    // Map over the $ in case of overwrite
    _$ = window.$;
    jQuery.noConflict = function (deep) {
    if (window.$ === jQuery) {
    window.$ = _$;
    }
    
    if (deep && window.jQuery === jQuery) {
    window.jQuery = _jQuery;
    }
    
    return jQuery;
    };
    
  • 相关阅读:
    内核态和用户态的区别
    【Docker官方文档】理解Docker
    dpdk中kni模块
    linux的deamon后台运行
    在C语言中如何嵌入python脚本
    Docker学习之路(三)Docker网络详解
    Docker学习之路(二)DockerFile详解
    fopencookie函数详解
    Docker学习之路(一)
    C/C++代码覆盖率工具gcov、lcov
  • 原文地址:https://www.cnblogs.com/zdf-xue/p/12445471.html
Copyright © 2011-2022 走看看