本篇文章是前端基础练习题第三十一天的答案及解析部分,纯题目部分请移步前端基础练习题 第31天
正文
1.HTML
代码如下所示:
1 | <select id="fruits" multiple="multiple"> |
jQuery
代码实现。参考代码如下所示:
1 | $( |
该题利用了jQuery
的表单过滤选择符:selected
,其会获取所有被选中的表单项;在本习题里,绑定blur
事件主要是因为多选的存在。若修改为change
事件,则只会获取到一个值;each
函数用来循环遍历所有选中值;text
函数用来输出文字,val
函数用来获取value
值。
2.说说jQuery
中的$.ajax
方法如何使用?
$.ajax
是jQuery
中封装好的使用ajax
的方法,使用时传入url
、请求类型、失败或成功的回调函数等,示例如下所示:
1 | $.ajax({ |
3.jQuery
是如何处理缓存的?
要处理缓存就是禁用缓存
- 通过
$.post()
方法来获取数据,那么默认就是禁用缓存的 - 通过
$.get()
方法获取数据,可以通过设置时间戳来避免缓存,可以在url
后面加上+(+new Date)
- 通过
$.ajax()
来获取数据,只要设置cache:false
即可。
4.$.extend
与$.fn.extend
的区别在哪?
$.fn.extend()
和$.extend()
是jQuery
为扩展插件提供的两个方法。
$.extend(object)
是为jQuery
添加静态方法,即工具方法,其拓展方法的调用方式为$.extendFn()
$.fn.extend(json)
用来为jQuery
添加成员函数,即实例方法,其调用方式为$('dom').extendFn()
。
5.利用jQuery
如何实现深拷贝?
不能显式地将第一个参数置为false
,否则会报错。
jQuery
框架解决了前端开发的哪些痛点?jQuery
的诞生为前端开发带来了极大的方便,主要表现在:
- 浏览器兼容问题,使用
jQuery
后,IE9以下的浏览器基本不用再为其单独写样式和方法 DOM
元素选择问题,jQuery
内置了非常丰富的元素选择器,操作DOM
变得特别容易- 带来了便捷的动画效果制作
- 简化了冗长的
ajax
请求,使得ajax
请求变得简短和通用
7.你觉得jQuery
过时了吗?有哪些代替jQuery
的解决方案。
随着WEB的发展和众多优秀框架的涌现,jQuery的使用场景确已减少
- 浏览器兼容方面,现在IF9以下的浏览器基本可以不用再考虑了
- 元素选择方面,
CSS3
新增了大量的选择器 - 动画效果方面,
CSS3
新增了动画方面的属性、HTML5
中也有canvas
可制作动画 ajax
方面,有axios
等框架集成了更为完善和简便的ajax
DOM
操作和事件绑定上,对DOM
的操作尽量减少,现多利用MVVM
框架,如Vue
、React
等- 组件化与模块化方面,可使用
ES6
的模块语法、webpack
打包、gulp
等
尽管jQuery
目前已渐渐淡出前端开发的舞台,但是还是有一些项目中在使用,自然也需要维护和开发的。所以jQuery
的相关知识,仍然是需要掌握的。
说明
题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击前端基础练习题 第31天