JQuery框架是一个运行在客户端的JavaScript库,专注于操纵DOM,就是简化了JavaScript对DOM的一些操作
JQuery的优点
- 利用css选择去提供高速的页面元素查找方式
- 增强了事件处理,可以解决浏览器的各种兼容性问题
- 将复杂的代码精简化 链式编程
jQuery的版本
- JQuery1.x 兼容IE6、7、8 ,是使用作为广泛的,目前官方只做bug维护,最终版本是1.12.4
- JQuery 2.x 不兼容IE6、7、8 很少有人使用,目前官方只做bug维护
- JQuery 3.x 不兼容IE6、7、8 只支持最新版本的浏览器,是目前官方更新维护的版本
jQuery3的特点
- JQuery 3的 严格模式
目前大多数的浏览器都有 use strict 严格模式,所谓严格模式就是是js在更为严格的条件下执行,严格模式 可以消除js的语法不合理,不严谨之处,可以使代码运行更安全,可提高编辑器效率,增加了运行效果,还可以为未来新版本的js做好铺垫 - 支持for…of遍历
for…of是es6中提供的循环语句,为可迭代对象(Array sets maps)的遍历提供的一种更为直接的方式 - 使用requestAnimateFrame ()API来执行动画
requsetAnimateFrame API 是H5所提供的,它的作用和setInterval和setTimeout类似 都可做定时器,但区别在于setInterval 和setTimeout需要设置时间间隔,而requestAnimateFrame采用的是系统的时间间隔,节省系统资源的同时提高了系统的性能也改善了视觉效果 - 支持SVG
SVG可缩放矢量图 - 对可见性过滤属性 :visiable 和 :hidden 新改变
只要是由任何的布局盒子,哪怕为空,也会被视为:visible
JQuery库的核心方法 $()
$()是jquery()的简写,主要是用来选择页面元素或执行功能的方法
注意:在定位元素时 js中document.getElementById(‘div1’)结果返回的是一个元素 jquery中 $(’#div1’) 结果返回的是一个对象
JQuery库的严格加载模式
JQuery库的严格加载模式或者页面的初始化事件
$(document).ready(function(){
//页面加载的事件
});
//缩写版
$(funcion(){});
$(docuement),ready 可以极大的提高web应用程序的响应速度,可以说是js原生代码中onload事件的替代
$(docuement).ready 和window.onload的区别
- 执行时机的不同:onload事件必须等到页面完全加载完毕之后才可有执行onload中定义的代码; ready是在DOM载入就绪且能够读取并操作时就能调用在ready事件所定义的函数代码
- 执行次数不同 :window.onload 只能定义执行一次;而ready事件可以定义执行多次 不会被覆盖
注意:
ready是在onload之前执行的
DOM文档加载的步骤如下:
(1)解析html结构
(2)加载外部脚本和样式文件
(3)解析并执行脚本代码
(4)构造HTML DOM模型 (此时执行ready事件)
(5)加载图片等外部文件
(6)页面加载完毕 (此时执行onload事件)
所有ready 是在onload之前执行的
在实际的应用中,很少直接使用window.onload事件来实现延迟等待加载
在使用ready事件时要确保body中没有定义onload事件,否则不会触发ready事件
可以使用一些著名公司的CDN
JQuery文件可以放在本地文件,也可以直接使用知名公司的CDN(内容分发网络)可以加快网站的打开速度和节省了网站的流量带宽