2020-03-21(jQuery面试题)

1、你在公司是怎么用jquery的?

    在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答) 你用过的选择器啊,动画啊,表单啊,ajax事件等

    配置Jquery环境 下载jquery类库 在jsp页面引用jquery类库即可

        

        

2 、你为什么要使用jquery?

    因为jQuery是轻量级的框架,大小不到30kb,它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠),完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。) 出色的浏览器的兼容性。而且支持链式操作,隐式迭代。行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富,开源。

3、你知道jquery中的选择器吗,请讲一下有哪些选择器?

    选择器大致分为:基本选择器,层次选择器,过滤选择器,表单选择器

    jQuery选择器支持CSS里的选择器,

    jQuery选择器可用来添加样式和添加相应的行为

    CSS 中的选择器是只能添加相应的样式

4、 jquery对象和dom对象是怎样转换的?

    jquery转DOM对象:jQuery 对象是一个数组对象,可以通过[index]的丰富得到相应的DOM对象,还可以通过get[index]去得到相应的DOM对象。

    DOM对象转jQuery对象:$(DOM对象)

5  你是如何使用jquery中的ajax的?

    如果是一些常规的ajax程序的话,使用load(),$.get(),$.post(),就可以搞定了,一般我会使用的是$.post() 方法。如果需要设定beforeSend(提交前回调函数),error(失败后处理),success(成功后处理)及complete(请求完成后处理)回调函数等,这个时候我会使用$.ajax()

    同步和异步区别、

        同步:等待后端返回数据后 才能继续执行代码 一次执行运行 一个线程  其他的线程 阻塞  业务卡顿

        异步 :不等待后端返回数据 就可以继续执行代码 可以运行多个线程 多数据返回后  自动调用success回调函数  业务代码 在success完成

    Ajax常用的数据类型有 xml和json 普遍使用json

        网页卡顿 是什么原因 怎么解决  (使用了同步 将同步代码修改为异步 将业务逻辑转译到success方法)

6 、jquery中$.get()提交和$.post()提交有区别吗?

    一: $.get() 方法使用GET方法来进行异步请求的,$.post() 方法使用POST方法来进行异步请求的。

    二: get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。

    三:get方式传输的数据大小不能超过2KB 而POST要大的多

    四:GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。

7、你使用过jquery中的动画吗,是怎样用的?

    使用过。

        hide() 和 show() 同时修改多个样式属性。像高度,宽度,不透明度。 fadeIn() 和fadeOut() fadeTo() 只改变不透明度

        slideUp() 和 slideDown() slideToggle() 只改变高度

        animate() 属于自定义动画的方法.

8、你使用过jquery中的插件吗?

    使用过,easyui

9、你在jquery中使用过哪些插入节点的方法,它们的区别是什么? 

    append(),appendTo(),prepend(),prependTo(),after(),insertAfter()    before(),insertBefore()    

    内添加

        1.append在文档内添加元素

        2.appendTo()把匹配的元素添加到对象里

        3.prepend()在元素前添加

        4.prependTo()把匹配的元素添加到对象前

      外添加  

        1.after()在元素之后添加

        2.before()在元素之前添加

        3.insertAfter()把匹配元素在对象后添加

        4.insertBefore()把匹配元素在对象前添加

10、jquery中如何来获取或和设置属性?

    jQuery中可以用attr()方法来获取和设置元素属性,removeAttr() 方法来删除元素属性

11、如何来设置和获取HTML 和文本的值?

    html()方法 类似于innerHTML属性 可以用来读取或者设置某个元素中的HTML内容注意:html() 可以用于xhtml文档,不能用于xml文档

    Text() 类似于innerText属性 可以用来读取或设置某个元素中文本内容。

    val() 可以用来设置和获取元素的值

12、你jquery中有哪些方法可以遍历节点?

    children() 取得匹配元素的子元素集合,只考虑子元素不考虑后代元素  

    next() 取得匹配元素后面紧邻的同辈元素

     prev() 取得匹配元素前面紧邻的同辈元素

     siblings() 取得匹配元素前后的所有同辈元素

     closest() 取得最近的匹配元素

     find() 取得匹配元素中的元素集合 包括子代和后代

13、你在ajax中使用过JSON吗,你是如何用的?

    使用过,在$.getJSON()方法的时候就是从后来返回的json字符串转换成js的json对象 。

14、$(document).ready()  $(function({}))方法和window.onload有什么区别?

    1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的,只执行一次

    2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数,可执行多次

15、jQuery是如何处理缓存的?

    要处理缓存就是禁用缓存.

        1 通过$.post() 方法来获取数据,那么默认就是禁用缓存的。

        2 通过$.get()方法 来获取数据,可以通过设置时间戳来避免缓存。

            可以在URL后面加上+(+new Date)

            例 $.get('ajax.xml?'+(+new Date),function () { //内容 });

        3 通过$.ajax 方法来获取数据,只要设置cache:false即可。

16、你读过有关于jQuery的书吗?

    《jquery基础教程》,《jquery实战》,《锋利的jquery》,《巧用jquery》,《jQuery用户界面库学习指南》等、

17、radio单选组的第二个元素为当前选中值,该怎么去取?

     $('input[type=radio]')[1].checked = true;

18、你使用过哪些数据格式,它们各有什么特点?

    HTML格式 ,JSON格式,javascript格式,XML格式

    HTML片段提供外部数据一般来说是最简单的。

    如果数据需要重用,而且其他应用程序也可能一次受到影响,那么在性能和文件大小方面具有优势的JSON通常是不错的选择。

    而当远程应用程序未知时,XML则能够为良好的互操作性提供最可靠的保证。

19、jQuery 能做什么?

    1 获取页面的元素

    2 修改页面的外观

    3 改变页面的内容

    4 响应用户的页面操作

    5 为页面添加动态效果

    6 无需刷新页面,即可以从服务器获取信息

    7 简化常见的javascript任务

20、在ajax中发送data主要有几种方式? ?id=1&

    三种,html拼接的,json数组,form表单经serialize()序列化的。

21、jQuery中的hover()和toggle()有什么区别?

    hover()和toggle()都是jQuery中两个合成事件。

    hover()方法用于模拟光标悬停事件。

    toggle()方法是连续点击事件。

22、你知道jQuery中的事件冒泡吗,它是怎么执行的,何如来停止冒泡事件?

    知道, 事件冒泡是从里面的往外面开始触发。

    在jQuery中提供了stopPropagation()方法可以停止冒泡。

你可能感兴趣的:(2020-03-21(jQuery面试题))