JQuery面試題1

1.說下JQuery裏面的選擇器及其用法
  ID選擇器,元素選擇器,屬性選擇器,
2.JQuery中經常使用的方法 ?css

方法html

描述web

hide()ajax

隱藏被選元素數據庫

show()json

顯示被選元素瀏覽器

toggle()緩存

切換(在隱藏和與顯示之間)被選元素服務器

html(content)app

改變被選元素的(內部)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的缺點
   不支持回退按鈕,對於手機移動設備不支持,數據量太大數據解析比較麻煩 

相關文章
相關標籤/搜索