zoukankan      html  css  js  c++  java
  • JQuery源码解读 JQ的一些扩展工具方法( 妙味讲堂

    JQuery源码解读
    
    
    
    JQ的一些扩展工具方法( 妙味讲堂 - 视频笔记 - 第三部分)
    
    
    //工具方法: 方便底层实现调用
    
    
    // 一、
    // 源码实现:
    expando: "jQery" + (core_version + Math.random()).replace(/D/g, ""); //生成唯一JQ字符串(内部)
    
    
    
    var $ = 123;
    
    
    // 二、
    // 源码实现:
    noConflict: function(deep) {
        if (window.$ === jQuery) {
            window.$ = _$;
        }
        if (deep && window.jQuery === jQuery) {
            window.jQuery = _jQuery;
        }
        return jQuery;
    }
    
    
    var aaa = $.noConflict(true);
    
    
    aaa(function() {
        alert(jQuery) // 123
    })
    
    
    
    // 三、
    //DOM加载完就执行
    
    // 1、
    $(function() {
    
        })
    
    
        =>
    
        // 2、
        $(document).ready(function() {
    
        })
    
        =>
    
        // 3、
        $().ready();
    
    ready: function() {
    
        }
        //监听 DOMContentLoaded 事件 
    
        =>
    
    
        // 4、
        jQuery.ready.promise().done(fun)
    
    
        =>
    
        // 5、
        $.ready();
    if (document.readyState === "complete") {
    
    } else {
        // complete
    }
    
    
    
    // 6
    readyList.resolveWidth(document, [jQuery])
    
    
    
        // 7、
        => fn
    
    
    
    
    
    
    // 文件加载完
    window.onload = function() {
    
    
    }
    
    
    // 四、
    $.holdReady(true) //推迟执行,ready() 不能执行
    
    
    $(function() {
        alert()
    })
    
    $.holdReady(false) //推迟释放,ready() 可以执行
    
    
    
    $.holdReady(true)
    $.getScript('a.js', function() { //异步,想要异步执行完再执行ready
        $.holdReady(false)
    })
    
    
    $(function() {
        console.log(2)
    })
    
    
    // 五、
    
    function aaa() {
    
    }
    
    var bbb = "123"
    
    console.log($.isFunction(aaa)) // true
    
    console.log($.isFunction(bbb)) // false
    
    
    // 源码实现:
    isFunction: function() {
        return jQuery.type(obj) === "function";
    
    }
    
    
    
    // 源码实现:
    
    isWindow: function(obj) {
        return obj != null && obj === obj.window
    }
    
    // 源码实现:
    isNumeric: functiono(num) {
        return !isNaN(parseFloat(obj) && isFinite(obj))
        // parseFloat 装换笔面试NaN  isFinite 判断是否是有限数字
    }
    
    
    
    
    typeOf(); //只能判断基本类型
    
    // 源码实现:
    type: function(obj) {
        if (obj == null) {
            return String(obj);
        }
        return typeof obj === "object" || typeof obj === 'function' ?
            class2type[core_toString.call(obj)] ||
            "object" : typeof obj
    }
    

      

  • 相关阅读:
    django分组group、user、permission
    django权限验证装饰器
    django用户和权限管理
    Selenium+python --如何定位表格中的某一个内容
    Selenium+python --定位下拉列表框并选取内容
    Selenium2+python--iframe
    Selenium3+python3--如何定位鼠标悬停才显示的元素
    Selenium3+python3--定位到元素后如何操作元素
    Selenium+python --如何定位一组元素
    补充前几天测试用到的Linux命令
  • 原文地址:https://www.cnblogs.com/SunlikeLWL/p/11606132.html
Copyright © 2011-2022 走看看