第一部分
jq的优势:
1.出色的浏览器兼容性
2、出色的DOM操作的封装,使他具备强大的选择器,可以进行快速的DOM元素操作
3、可靠的事件处理机制、jq在处理事件绑定的时候是相当的可靠
4、完善的ajax(对ajax的封装非常好,不需要考虑复杂的浏览器的兼容和XMLhttprequest对象的创建和使用)
5、支持链式操作(什么是链式操作?通过‘.’来操作)和隐士迭代
6、减少服务器的压力和带宽并且加快了加载速度(为什么这么说?原因就是:当你打开网页之前打开了其他的网页,并且该网页也用了cdn的方式来
加载相同版本的jq文件,那么,浏览器就不会加载第二次,为啥舍近求远呢,和生活中的道理一样一样的!)
7、支持丰富的插件,当然你也可以自定义插件,再加上jq的文档也很丰富,对于程序员来说,是一件非常美好的事情($.extend()和$.fn.extend(),区别是:
第一点:从形式上看,$.extend()是进行过实例化的,$.fn.extend()是没有进行实例化的,在外面通过传参,然后通过内部的this来实例化对象,然后通过隐士返回
从底层代码上来说,通过$.extend()的方式来
封装的插件是放在工具方法下的,工具方法比如说,像$.ajax(),$.type()等方法;
而$.fn.extend()的方式封装的插件是放在jq对象下的,比如
说$().出来的方法,说到这就要说$()的作用?就是将dom元素转化为jQuery对象,和$(document).ready())
jq的存在的缺点:
1、容易造成冲突
第二部分:
使用jq遇到的问题以及是如何解决的?
1.在前台拿不到值,这个问题发生在json上(多了个空格),这个东西编译时不报错的
2、jq库与其他库的冲突,解决:同过jquery.noconfict(),通过函数传参,将$过度给其他的库使用
3,通过jquery.ajax()方法来与后台进行数据交互的时候,返回的数据一直有问题,清除缓存后数据无误,但是经过多次测试发现返回的值都是之前的值,并且一直未执行url (后台为java
,设置断点后一直未进入),通过查资料,发现是因为未设置type的原因,如果为设置jQuery.ajax的type=“POST”,ajax会默认type=“GET”,这就会导致之前的数据被缓存起来,加上
type="POST",问题解决!