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的優勢。
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
總結
以上是生活随笔為你收集整理的JQuery面试题1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj 2190: [SDOI2008
- 下一篇: 知识梳理——HTML篇