博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零玩转jQuery-入口函数
阅读量:7087 次
发布时间:2019-06-28

本文共 1257 字,大约阅读时间需要 4 分钟。

jQuery入口函数

jQuery与JavaScript加载模式对比

  • 多个window.onload只会执行一次, 后面的会覆盖前面的
  • 多个$(document).ready()会执行多次,后面的不会覆盖前面的
  • 不会覆盖的本质(了解,后面jQuery原理会详细讲解)
    • jQuery框架本质是一个闭包,每次执行我们都会给ready函数传递一个新的函数,不同函数内部的数据不会相互干扰
window.onload $(document).ready()
执行时机 必须等待网页全部加载完毕(包括 图片等),然后再执行包裹代码 只需要等待网页中的DOM结构 加载完毕,就能执行包裹的代码
执行次数 只能执行一次,如果第二次,那么 第一次的执行会被覆盖 可以执行多次,第N次都不会被上 一次覆盖
简写方案 $(function () { });

  • 为什么我们能访问$符号?

    • 因为$符号jQuery框架对外暴露的一个全局变量
  • JavaScript中如何定义一个全局变量?

  • 所有全局变量是 window 对象的属性

function test () {            var customValue = 998;            alert(customValue);//            1.没有如下代码customValue就不是一个全局变量,函数执行完毕之后//            customValue会被自动释放,test函数以外的地方访问不到customValue//            2.加上如下代码之后customValue就会变成一个全局变量,函数执行完毕也不//            会被释放,test函数以外的地方可以访问customValue//            window.customValue = customValue;        }        test();        alert(customValue);
  • 所以jQuery框架源码实现
window.jQuery = window.$ = jQuery;
  • 所以想要使用jQuery框架只有两种方式,一种是通过$,一种是通过jQuery

  • jQuery入口函数的其它编写方式如下

解决$符号冲突问题

  • 为什么是window.jQuery = window.$ = jQuery;,而不是window.jQuery = jQuery;

    • jQuery框架之所以提供了jQuery访问还提供$访问,就是为了提升开发者的编码效率
  • $符号冲突怎么办?

    • 很多js的框架都提供了类似jQuery这样的便捷访问方式,所以很有可能某一天我们在使用多个框架的时,多个框架作者提供的便捷访问方式冲突(A框架通过$访问,B框架也通过$访问)
  • ***释放$使用权

    • 当便捷访问符号发生冲突时,我们可以释放$使用权, 释放之后只能使用jQuery
  • 自定义便捷访问符号
    • 当便捷访问符号发生冲突时,我们可以自定义便捷访问符号

转载地址:http://ycwql.baihongyu.com/

你可能感兴趣的文章
How do I change the schedule for replication between two domain controllers in a site?
查看>>
Docker镜像基础-04
查看>>
Python第七周 学习笔记(1)
查看>>
Linux与云计算——第二阶段Linux服务器架设 第七章:网站WEB服务器架设—使用各种WEB脚本环境...
查看>>
nginx以upstream分组的方式实现tcp反向代理
查看>>
诳言C言语变量和数据类型
查看>>
使用新型编译器
查看>>
http+tftp+pxe+kickstar自动化部署
查看>>
mysql性能呢个调优之tmp_table_size
查看>>
linux下的加密和安全
查看>>
python 常量
查看>>
详谈单例、饿汉、和懒汉模式
查看>>
重新定义数据库的时刻,阿里云数据库专家带你了解POLARDB
查看>>
Redis的N种妙用,不仅仅是缓存
查看>>
2018-05-25笔记(文件的压缩和打包)
查看>>
jQuery Validate验证框架详解
查看>>
LINUX 常用命令大全(持续更新)
查看>>
电子友链
查看>>
备考干货 | 40天紧急备战PMP,一次PASS的原因竟然是..
查看>>
Flask蓝图Blueprint的使用
查看>>