JQuery面试题1
1.說下JQuery里面的選擇器及其用法
??ID選擇器,元素選擇器,屬性選擇器,
2.JQuery中常用的方法 ?
| 方法 | 描述 |
| hide() | 隱藏被選元素 |
| show() | 顯示被選元素 |
| toggle() | 切換(在隱藏和與顯示之間)被選元素 |
| html(content) | 改變被選元素的(內(nèi)部)HTML |
| append(content) | 向被選元素的(內(nèi)部)追加內(nèi)容 |
| css(name,value) | 為匹配元素設(shè)置樣式屬性的值 |
| load(url,data,callback) | 把遠(yuǎn)程數(shù)據(jù)加載到被選的元素中 |
3.簡單的闡述 JS,JQuery 。?
Javascript 是一種由Netscape的LiveScript 發(fā)展而來的原型化繼承的基于對象的動態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)端語言,比如Perl,遺留的速度問題,為客戶端提供更流暢的瀏覽效果。?
JQuery 是繼prototype之后又一個優(yōu)秀的Javascript框架,它是輕量級的JS庫。它的核心理念就是writer less, do more 。?
4.簡單介紹JQuery的優(yōu)勢。
5.AJAX執(zhí)行流程是什么 ??
1.通過JS創(chuàng)建瀏覽器對象XMLHttpRequest,瀏覽器分為IE和非IE.
2.設(shè)置回調(diào)函數(shù) onreadystatechange?
3.客戶端和服務(wù)器建立連接,通過open("GET/POST",url,ture/false) 打開請求
4.通過send()發(fā)送請求
5.服務(wù)器調(diào)用回調(diào)函數(shù),當(dāng)狀態(tài)為4則表示發(fā)送請求成功
6.處理響應(yīng)數(shù)據(jù):
1)responseText:作為文本串返回
2)responseXML:作為Xml文件返回?
6.你每次的AJAX的請求都訪問數(shù)據(jù)庫嗎?有什么壞處??
? ? ? AJAX的一大特點(diǎn)就是我需要這個數(shù)據(jù)(訪問數(shù)據(jù)庫)的時候才給我,異步提交,就是每次提交服務(wù)器,特別是跟服務(wù)器要數(shù)據(jù)訪問數(shù)據(jù)庫的時候,要先連接數(shù)據(jù)庫再SQL查詢處理,再返回到瀏覽器,這個時候當(dāng)很多人都訪問的時候,就會影響服務(wù)器的性能,影響響應(yīng)的時間。關(guān)鍵要看是否訪問頻繁,如果很頻繁,并且數(shù)據(jù)不經(jīng)常變化,那么就可以訪問數(shù)據(jù)庫
7.如果不用AJAX怎么實(shí)現(xiàn)局部刷新??
1 用JQuery?
? load( url, [data], [callback] ) :載入遠(yuǎn)程 HTML 文件代碼并插入至 DOM 中。
? url (String) : 請求的HTML頁的URL地址。
? data (Map) : (可選參數(shù)) 發(fā)送至服務(wù)器的 key/value 數(shù)據(jù)。
? callback (Callback) : (可選參數(shù)) 請求完成時(不需要是success的)的回調(diào)函數(shù)。
? ?這個方法默認(rèn)使用 GET 方式來傳遞的,如果[data]參數(shù)有傳遞數(shù)據(jù)進(jìn)去,就會自動轉(zhuǎn)換為POST方式的。
?2 也可以用iframe
這里將顯示結(jié)果。?
8.AJAX有哪些狀態(tài) ?
| 狀態(tài) | 描述 |
| 0 | 請求未初始化(在調(diào)用 open() 之前) |
| 1 | 請求已提出(調(diào)用 send() 之前) |
| 2 | 請求已發(fā)送(這里通常可以從響應(yīng)得到內(nèi)容頭部) |
| 3 | 請求處理中(響應(yīng)中通常有部分?jǐn)?shù)據(jù)可用,但是服務(wù)器還沒有完成響應(yīng)) |
| 4 | 請求已完成(可以訪問服務(wù)器響應(yīng)并使用它) |
9.JQuery中 假設(shè)表單域沒有id,name 你是如何得到第二個表單的元素 ??
? ? 可以用選擇器里面的eq(1)加上別的選擇器判斷?
10.JQuery的事件 ?
? ? jQuery 事件處理方法是 jQuery 中的核心函數(shù)。
? ? ? 事件處理程序指的是當(dāng) HTML 中發(fā)生某些事件時所調(diào)用的方法。術(shù)語由事件"觸發(fā)"(或"激發(fā)")經(jīng)常會被使用。
| 事件 | 描述 |
| $(doncument).ready(function) | 將函數(shù)綁定到文檔的就緒事件(當(dāng)文檔完成加載時) |
| $(selector).clik(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的點(diǎn)擊事件 |
| $(selector).dblclick | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的雙擊事件 |
| $(selector).focus(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的獲得焦點(diǎn)事件 |
| $(selector).mouseover(function) | 觸發(fā)或?qū)⒑瘮?shù)綁定到被選元素的鼠標(biāo)懸停事件 |
11.js里只允許一個onLoad(),在JQuery里怎么弄兩個??
window.onload = function(){
alert("text1");
};?
window.onload = function(){
alert("text2");
};?
結(jié)果只輸出第二個 ,?能同時編寫多個 。?
12.AJAX的同步與異步 。
? ? 舉個例子:比如你去圖書館借某種書,可惜圖書館此書被借完。這時可以采用兩種做法。
? ? 第一種做法:在圖書館一直等待,直到有人還書,然后再去吃飯睡覺。
? ?第二種做法:直接跟圖書館管理員約定,若是有人還書,直接通知你。你則該忙什么忙什么。到時候會通知你。
? ?而第一種做法就是同步的表現(xiàn),必須等待別人還書(等待服務(wù)器返回信息)才進(jìn)行其他事情,至死方休。
? ?而第二種做法就是異步的表現(xiàn),不耽誤時間,合理利用時間高效率做事。
? ?Ajax用異步傳輸?shù)暮锰幨翘岣咝? 減少用戶等待時間, 提高用戶體驗(yàn)度.?
13.AJAX的回調(diào)函數(shù) 。?
? ? ? ?回調(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時由服務(wù)器執(zhí)行完成后調(diào)用的,用于對該事件或條件進(jìn)行響應(yīng)。?
14.JQuery是怎么用的 ?主要用到了什么??
? ? 首先要導(dǎo)入JQuery的包文件(有Min版和未壓縮版),然后在JSP中引入包,接下來再引入自己的JS。?
? ? 主要用到了選擇器和事件 和AJAX。?
?15.DWR是什么 ??
? ? ? ? ? ? DWR(Direct Web Remoting)是一個用于改善web頁面與Java類交互的遠(yuǎn)程服務(wù)器端Ajax開源框架,可以幫助開發(fā)人員開發(fā)包含AJAX技術(shù)的網(wǎng)站。它可以允許在瀏覽器里的代碼使用運(yùn)行在WEB服務(wù)器上的JAVA函數(shù),就像它就在瀏覽器里一樣。可以簡單說是Java實(shí)現(xiàn)的AJAX框架?
16.JQuery中背景顏色你是怎么設(shè)置的 ??
? ? ? $(document.body).css( "background", "black" );
17.AJAX提交數(shù)據(jù)的時候使用同步還是異步??
? ? 異步。?
18.你懂AJAX的原理和它的框架嗎 ??
? ? ?Ajax的原理簡單來說通過XmlHttpRequest對象來向服務(wù)器發(fā)異步請求,從服務(wù)器獲得數(shù)據(jù),然后用Javascript來操作DOM從而更新頁面 。?
? ? AJAX框架主要有ajax.dll,ajaxpro.dll,magicajax.dll 以及微軟的atlas框架?
19.JQuery隱藏一個DIV使用什么方法?,調(diào)用什么方法拿到父無素??
? ?隱藏一個DIV的方法有:
? ?hide() 隱藏顯示的元素 ; 如果選擇的元素是隱藏的,這個方法將不會發(fā)生任何改變。
? ? ?toggle() 如果元素是可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。?
拿到父元素的方法有:
parent()取得一個包含著所有匹配元素的唯一父元素的元素集合。
? ?parents()取得一個包含著所有匹配元素的祖先元素的元素集合(不包含根元素)。?
20.做一個鼠標(biāo)點(diǎn)擊DIV動畫,變大變小的那種,說一下思路。
<td id="test"></td> 用JQuery代碼替換文字和文字的顏色 。
? ? ??文字的替換可以JQuery對象的text(),文字的顏色attr,如果是css,我們css()
21.AJAX()怎么返回后臺的值。配置及作用。
? ??在回調(diào)函數(shù)里面返回后臺的值,可以用xmlHttpRequest的responseText 或responseXml獲得?
22.JQuery如何調(diào)用事件,如何獲取頁面元素,如何抓去樣式 ??
調(diào)用事件:最常用的是為元素添加onclick元素屬性的方式來添加事件?,使用各種選擇器來獲取元素,使用css()來抓取樣式
23.JQuery怎樣獲取json的數(shù)據(jù)??
? ?a. 使用了require JS 框架
? ?b. 用Jquery的兩種方法獲取后臺數(shù)據(jù)
? 1)ajax 方法,傳回的都是json數(shù)據(jù)?
? ?2)getJSON, 直接封裝了一些參數(shù){command : GetRegsiterJsonData}
24.AJAX發(fā)送的請求的協(xié)議是什么 ?
? ? HTTP
25.JQuery的clone方法參數(shù)加true和不加true的區(qū)別 ?
? ? ? clone(true)方是復(fù)制一個元素及其所有事件,
? ? clone()方法是復(fù)制一個元素,不包含其所有事件?
26.在頁面動態(tài)顯示一個時間。
?
27.AJAX的緩存問題怎么解決??
方法一:?
在ajax發(fā)送請求前加上 :
? ? ?xmlHTTP.setRequestHeader("If-Modified-Since","0");?
方法二:
服務(wù)器端代碼加入:
? ? response.setHeader("Cache-Control", "no-cache, must-revalidate");
方法三:
? ? 用JavaScript在Ajax提交的時候加入一個隨機(jī)數(shù)作為URL中的一個參數(shù)。req.open(url + "&" + Math.random).?
28.JQuery怎么拿頁面的值、屬性。?
? ? ?用attr函數(shù),val
29.AJAX怎么用的,怎么把數(shù)據(jù)提交到后臺的?
? 通過open函數(shù)打開連接,通過send方法發(fā)送數(shù)據(jù)
30.在寫下js和JQuery如何獲取頁面元素的?
? ? ??js可以用document.getElementById或者document.getElementByName,但是JQuery就是比較強(qiáng)大,可以用各種選擇器來獲取,最主要的還是ID選擇器("#id");
31.講下JQuery里面的AJAX幾種實(shí)現(xiàn)和比較方式
有l(wèi)oad(),post(),get(),ajax(),getJson()等,詳細(xì)說明具體實(shí)現(xiàn),
load是把遠(yuǎn)程url地址獲取后的html代碼直接插入到當(dāng)前元素里面,不需要寫回調(diào)函數(shù)
$.get()是把遠(yuǎn)程url獲取的信息通過回調(diào)函數(shù)來處理,通過get方式提交?
$.post()是把遠(yuǎn)程url獲取的信息通過回調(diào)函數(shù)來處理,通過post方式提交
$.ajax是最復(fù)雜的一個ajax執(zhí)行函數(shù),它是$.get和$.post的基礎(chǔ)??
32.講下AJAX的缺點(diǎn)
? ?不支持回退按鈕,對于手機(jī)移動設(shè)備不支持,數(shù)據(jù)量太大數(shù)據(jù)解析比較麻煩?
轉(zhuǎn)載于:https://www.cnblogs.com/t0404/p/10291006.html
總結(jié)
以上是生活随笔為你收集整理的JQuery面试题1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj 2190: [SDOI2008
- 下一篇: 关于多线程小结