JQuery面试题1

1.说下JQuery里面的选择器及其用法
  ID选择器,元素选择器,属性选择器,
2.JQuery中常用的方法 ?

方法

描述

hide()

隐藏被选元素

show()

显示被选元素

toggle()

切换(在隐藏和与显示之间)被选元素

html(content)

改变被选元素的(内部)HTML

append(content)

向被选元素的(内部)追加内容

css(name,value)

为匹配元素设置样式属性的值

load(url,data,callback)

把远程数据加载到被选的元素中

3.简单的阐述 JS,JQuery 。 
Javascript 是一种由Netscape的LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务端语言,比如Perl,遗留的速度问题,为客户端提供更流畅的浏览效果。 
JQuery 是继prototype之后又一个优秀的Javascript框架,它是轻量级的JS库。它的核心理念就是writer less, do more 。 
4.简单介绍JQuery的优势。

  1. 开源的、免费的
  2. 轻量级的非常灵巧
  3. 拥有强大的选择器
  4. 出色的DOM操作的封装
  5. 可靠的事件处理机制
  6. 完善的AJAX
  7. 出色的浏览器兼容性
  8. 链式操作方式
  9. 隐式迭代
  10. 行为层与结构层的分离
  11. 丰富的插件支持
  12. 完善的文档说明


5.AJAX执行流程是什么 ? 
1.通过JS创建浏览器对象XMLHttpRequest,浏览器分为IE和非IE.
2.设置回调函数 onreadystatechange 
3.客户端和服务器建立连接,通过open("GET/POST",url,ture/false) 打开请求
4.通过send()发送请求
5.服务器调用回调函数,当状态为4则表示发送请求成功
6.处理响应数据:
1)responseText:作为文本串返回
2)responseXML:作为Xml文件返回 
6.你每次的AJAX的请求都访问数据库吗?有什么坏处? 
      AJAX的一大特点就是我需要这个数据(访问数据库)的时候才给我,异步提交,就是每次提交服务器,特别是跟服务器要数据访问数据库的时候,要先连接数据库再SQL查询处理,再返回到浏览器,这个时候当很多人都访问的时候,就会影响服务器的性能,影响响应的时间。关键要看是否访问频繁,如果很频繁,并且数据不经常变化,那么就可以访问数据库
7.如果不用AJAX怎么实现局部刷新? 
1 用JQuery 
  load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中。
  url (String) : 请求的HTML页的URL地址。
  data (Map) : (可选参数) 发送至服务器的 key/value 数据。
  callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。
   这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。
 2 也可以用iframe
这里将显示结果。 
8.AJAX有哪些状态 ?

状态

描述

0

请求未初始化(在调用 open() 之前)

1

请求已提出(调用 send() 之前)

2

请求已发送(这里通常可以从响应得到内容头部)

3

请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)

4

请求已完成(可以访问服务器响应并使用它)


9.JQuery中 假设表单域没有id,name 你是如何得到第二个表单的元素 ? 
    可以用选择器里面的eq(1)加上别的选择器判断 
10.JQuery的事件 ?
    jQuery 事件处理方法是 jQuery 中的核心函数。
      事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件"触发"(或"激发")经常会被使用。

事件

描述

$(doncument).ready(function)

将函数绑定到文档的就绪事件(当文档完成加载时)

$(selector).clik(function)

触发或将函数绑定到被选元素的点击事件

$(selector).dblclick

触发或将函数绑定到被选元素的双击事件

$(selector).focus(function)

触发或将函数绑定到被选元素的获得焦点事件

$(selector).mouseover(function)

触发或将函数绑定到被选元素的鼠标悬停事件


11.js里只允许一个onLoad(),在JQuery里怎么弄两个? 
window.onload = function(){
alert("text1");
}; 
window.onload = function(){
alert("text2");
}; 
结果只输出第二个 , 能同时编写多个 。 
12.AJAX的同步与异步 。
    举个例子:比如你去图书馆借某种书,可惜图书馆此书被借完。这时可以采用两种做法。
    第一种做法:在图书馆一直等待,直到有人还书,然后再去吃饭睡觉。
   第二种做法:直接跟图书馆管理员约定,若是有人还书,直接通知你。你则该忙什么忙什么。到时候会通知你。
   而第一种做法就是同步的表现,必须等待别人还书(等待服务器返回信息)才进行其他事情,至死方休。
   而第二种做法就是异步的表现,不耽误时间,合理利用时间高效率做事。
   Ajax用异步传输的好处是提高效率, 减少用户等待时间, 提高用户体验度. 
13.AJAX的回调函数 。 
       回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由服务器执行完成后调用的,用于对该事件或条件进行响应。 
14.JQuery是怎么用的 ?主要用到了什么? 
    首先要导入JQuery的包文件(有Min版和未压缩版),然后在JSP中引入包,接下来再引入自己的JS。 
    主要用到了选择器和事件 和AJAX。 
 15.DWR是什么 ? 
            DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。可以简单说是Java实现的AJAX框架 
16.JQuery中背景颜色你是怎么设置的 ? 
      $(document.body).css( "background", "black" );
17.AJAX提交数据的时候使用同步还是异步? 
    异步。 
18.你懂AJAX的原理和它的框架吗 ? 
     Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用Javascript来操作DOM从而更新页面 。 
    AJAX框架主要有ajax.dll,ajaxpro.dll,magicajax.dll 以及微软的atlas框架 
19.JQuery隐藏一个DIV使用什么方法?,调用什么方法拿到父无素? 
   隐藏一个DIV的方法有:
   hide() 隐藏显示的元素 ; 如果选择的元素是隐藏的,这个方法将不会发生任何改变。
     toggle() 如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。 
拿到父元素的方法有:
parent()取得一个包含着所有匹配元素的唯一父元素的元素集合。
   parents()取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。 


20.做一个鼠标点击DIV动画,变大变小的那种,说一下思路。
<td id="test"></td> 用JQuery代码替换文字和文字的颜色 。
      文字的替换可以JQuery对象的text(),文字的颜色attr,如果是css,我们css()

21.AJAX()怎么返回后台的值。配置及作用。
    在回调函数里面返回后台的值,可以用xmlHttpRequest的responseText 或responseXml获得 

22.JQuery如何调用事件,如何获取页面元素,如何抓去样式 ? 
调用事件:最常用的是为元素添加onclick元素属性的方式来添加事件 ,使用各种选择器来获取元素,使用css()来抓取样式
23.JQuery怎样获取json的数据? 
   a. 使用了require JS 框架
   b. 用Jquery的两种方法获取后台数据
  1)ajax 方法,传回的都是json数据 
   2)getJSON, 直接封装了一些参数{command : GetRegsiterJsonData}
24.AJAX发送的请求的协议是什么 ?
    HTTP
25.JQuery的clone方法参数加true和不加true的区别 ?
      clone(true)方是复制一个元素及其所有事件,
    clone()方法是复制一个元素,不包含其所有事件 
26.在页面动态显示一个时间。
 
27.AJAX的缓存问题怎么解决? 
方法一: 
在ajax发送请求前加上 :
     xmlHTTP.setRequestHeader("If-Modified-Since","0"); 
方法二:
服务器端代码加入:
    response.setHeader("Cache-Control", "no-cache, must-revalidate");
方法三:
    用JavaScript在Ajax提交的时候加入一个随机数作为URL中的一个参数。req.open(url + "&" + Math.random). 
28.JQuery怎么拿页面的值、属性。 
     用attr函数,val
29.AJAX怎么用的,怎么把数据提交到后台的?
  通过open函数打开连接,通过send方法发送数据
30.在写下js和JQuery如何获取页面元素的?

      js可以用document.getElementById或者document.getElementByName,但是JQuery就是比较强大,可以用各种选择器来获取,最主要的还是ID选择器("#id");
31.讲下JQuery里面的AJAX几种实现和比较方式

有load(),post(),get(),ajax(),getJson()等,详细说明具体实现,

load是把远程url地址获取后的html代码直接插入到当前元素里面,不需要写回调函数
$.get()是把远程url获取的信息通过回调函数来处理,通过get方式提交 
$.post()是把远程url获取的信息通过回调函数来处理,通过post方式提交
$.ajax是最复杂的一个ajax执行函数,它是$.get和$.post的基础  

32.讲下AJAX的缺点
   不支持回退按钮,对于手机移动设备不支持,数据量太大数据解析比较麻烦 


原文地址:https://www.cnblogs.com/t0404/p/10291006.html