摘要:包含基于和標準的表示使用進行動態(tài)顯示和交互使用與服務(wù)器進行異步通信使用綁定一切。重定向表示要完成請求,需要進一步操作。方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛芍付ǖ男聦ο蟆?/p>
一. 什么是Ajax???
術(shù)語Ajax用來描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。 Ajax它是“Asynchronous JavaScript + XML的簡寫”
定義Ajax:
Ajax不是一種技術(shù)。實際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強大方式組合而成。Ajax包含: * 基于XHTML和CSS標準的表示; * 使用Document Object Model進行動態(tài)顯示和交互; * 使用XMLHttpRequest與服務(wù)器進行異步通信; * 使用JavaScript綁定一切。二. 什么是JSON
JSON來自于javascript,但是應(yīng)用上面遠遠不止是javascript的json,它相當于xml,是一種比較流行的標準格式,是數(shù)據(jù)的載體 javascript json 是用于javascript程序的,它可以支持對象引用以及函數(shù);ajax json只是最簡單的字符串和數(shù)字,它不可能完全支持javascript里面的數(shù)據(jù)類型。 相對于XML,JSON更加易讀、更便于肉眼檢查。在語法的層面上,JSON與其他格式的區(qū)別是在于分隔數(shù)據(jù)的字符三.淺談一下如何避免用戶多次點擊造成的多次請求
我們在訪問有的網(wǎng)站,輸入表單完成以后,單擊提交按鈕進行提交以后,提交按鈕就會變?yōu)榛疑?,用戶不能再單擊第二次,直到重新加載頁面或者跳轉(zhuǎn)。這樣,可以一定程度上防止用戶重復(fù)提交導(dǎo)致應(yīng)用程序上邏輯錯誤。 還有很多其他的方式進行防止重復(fù)點擊提交,如 1> 定義標志位: 點擊觸發(fā)請求后,標志位為false量;請求(或者包括請求后具體的業(yè)務(wù)流程處理)后,標志位為true量。通過標志位來判斷用戶點擊是否具備應(yīng)有的響應(yīng)。 2> 卸載及重載綁定事件: 點擊觸發(fā)請求后,卸載點擊事件;請求(或者包括請求后具體的業(yè)務(wù)流程處理)后,重新載入綁定事件。 3> 替換(移除)按鈕DOM 點擊觸發(fā)請求后,將按鈕DOM對象替換掉(或者將之移除),自然而然此時不在具備點擊事件;請求(或者包括請求后具體的業(yè)務(wù)流程處理)后,給新的按鈕DOM定義點擊事件。 更多講解參考:http://www.cnblogs.com/jinguangguo/archive/2013/05/20/3086925.html四.同步和異步的區(qū)別?
同步的概念應(yīng)該是來自于操作系統(tǒng)中關(guān)于同步的概念: 不同進程為協(xié)同完成某項工作而在先后次序上調(diào)整(通過阻塞,喚醒等方式)。同步強調(diào)的是順序性,誰先誰后;異步則不存在這種順序性。 // 同步:瀏覽器訪問服務(wù)器請求,用戶看得到頁面刷新,重新發(fā)請求,等請求完,頁面刷新,新內(nèi)容出現(xiàn),用戶看到新內(nèi)容,進行下一步操作。 // 異步:瀏覽器訪問服務(wù)器請求,用戶正常操作,瀏覽器后端進行請求。等請求完,頁面不刷新,新內(nèi)容也會出現(xiàn),用戶看到新內(nèi)容。五.異步加載的方式有哪些?
(1)defer,只支持 IE (2)async: (3)創(chuàng)建 script,插入到 DOM 中,加載完畢后 callBack六.27. CORS是什么?對于跨域請求,如何將附帶憑證(HTTP Cookie及HTTP認證信息)的請求發(fā)送至服務(wù)器?(提示:后續(xù)真實工作中可能會用到)
跨域請求一直是網(wǎng)頁編程中的一個難題,在過去,絕大多數(shù)人都傾向于使用JSONP來解決這一問題。不過現(xiàn)在,我們可以考慮一下W3C中一項新的特性——CORS(Cross-Origin Resource Sharing)了。CORS是現(xiàn)代瀏覽器支持跨域資源請求的一種方式。 解決方法: 當你使用XMLHttpRequest發(fā)送請求時,瀏覽器發(fā)現(xiàn)該請求不符合同源策略,會給該請求加一個請求頭:Origin,后臺(php或者其它接收數(shù)據(jù)方)進行一系列處理,如果確定接受請求則在返回結(jié)果中加入一個響應(yīng)頭:Access-Control-Allow-Origin;瀏覽器判斷該相應(yīng)頭中是否包含Origin的值,如果有則瀏覽器會處理響應(yīng),我們就可以拿到響應(yīng)數(shù)據(jù),如果不包含瀏覽器直接駁回,這時我們無法拿到響應(yīng)數(shù)據(jù)。 更多參考地址:www.cnblogs.com/dojo-lzz/p/4265637.html http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html七. 一次完整的HTTP事務(wù)是怎樣一個過程?
a.域名解析 b.發(fā)起TCP的三次握手 c.建立TCP連接后發(fā)起http請求 d.服務(wù)器端響應(yīng)http請求,瀏覽器得到html碼 e.瀏覽器解析html代碼,并請求html代碼中的資源 f.瀏覽器對頁面進行渲染并呈現(xiàn)給客戶 更多詳細參考地址:http://www.360doc.com/content/14/0725/20/1073512_397054861.shtml八. get與post兩種方式的優(yōu)缺點。
get: get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù); get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB; get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好; get是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到; 在做數(shù)據(jù)查詢時,建議用Get方式; post: post是通過HTTP post機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址,用戶看不到這個過程; 所以:包含機密信息的話,建議用Post數(shù)據(jù)提交方式;而在做數(shù)據(jù)添加、修改或刪除時,建議用Post方式。九.對于request.status的http狀態(tài)碼 用于表示網(wǎng)頁服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼。1,2,3,4,5開頭的狀態(tài)碼分別代表什么(提示:404頁面表示禁止訪問等)
1xx(臨時響應(yīng))表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)代碼。 2xx (成功)表示成功處理了請求的狀態(tài)代碼。 3xx (重定向) 表示要完成請求,需要進一步操作。 通常,這些狀態(tài)代碼用來重定向。 4xx(請求錯誤) 這些狀態(tài)代碼表示請求可能出錯,妨礙了服務(wù)器的處理。 5xx(服務(wù)器錯誤)這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時發(fā)生內(nèi)部錯誤。 這些錯誤可能是服務(wù)器本身的錯誤,而不是請求出錯。十.jQuery與jQuery UI有啥區(qū)別?
`jQuery`是一個js庫,主要提供的功能是選擇器,屬性修改和事件綁定等等。 `jQuery UI`則是在jQuery的基礎(chǔ)上,利用jQuery的擴展性,設(shè)計的插件。提供了一些常用的界面元素,諸如對話框、拖動行為、改變大小行為等等十一.$(document).ready與window.onload有何區(qū)別?
$(document).ready 對于支持DOMContentLoaded事件的瀏覽器,會使用該事件,所有的節(jié)點渲染完畢,就執(zhí)行,可以調(diào)用多次,不支持的就使用 onload事件 window.onload事件要等到所有的資源加載完畢,如圖片,視頻,js腳本等,只能綁定一次,后面綁定的覆蓋前面所綁定的事件十二.jQuery中,如何阻止事件冒泡和瀏覽器默認行為?
e.preventDefault(); e.stopPropagation();十三. Node.js的適用場景?
高并發(fā)、聊天、實時消息推送、服務(wù)器做前端資源壓縮十四. 那些操作會造成內(nèi)存泄漏?
內(nèi)存泄漏是指任何對象在您不再擁有或需要它之后任然存在。 垃圾回收器定期掃描對象,并計算引用了每個對象的其他對象的數(shù)量,如果一個對象的引用數(shù)量為0(沒有其他對象引用過該對象),或?qū)υ搶ο蟮奈┮灰檬茄h(huán)的,那么該對象的內(nèi)存即可回收。 // setTimeout 的第一個參數(shù)使用字符串而非函數(shù)的話,會引發(fā)內(nèi)存泄漏。 閉包、控制臺日志、循環(huán)(在兩個對象彼此引用且彼此保留時,就會產(chǎn)生一個循環(huán))十五.call() 和 .apply() 的區(qū)別?
call方法: 語法:call(thisObj,Object) 定義:調(diào)用一個對象的一個方法,以另一個對象替換當前對象。 說明: call 方法可以用來代替另一個對象調(diào)用一個方法。call 方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛?thisObj 指定的新對象。 如果沒有提供 thisObj 參數(shù),那么 Global 對象被用作 thisObj。 apply方法: 語法:apply(thisObj,[argArray]) 定義:應(yīng)用某一對象的一個方法,用另一個對象替換當前對象。 說明: 如果 argArray 不是一個有效的數(shù)組或者不是 arguments 對象,那么將導(dǎo)致一個 TypeError。 如果沒有提供 argArray 和 thisObj 任何一個參數(shù),那么 Global 對象將被用作 thisObj, 并且無法被傳遞任何參數(shù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/114097.html
摘要:本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁的行為層負責(zé)回答內(nèi)容應(yīng)該如何對事件做出反應(yīng)這一問題。 本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會有一些跳槽的悸動,通過對本篇知識的整理以及經(jīng)驗的總結(jié),希望能幫到更多的前端面試者。(如有錯誤或更好的答案,歡迎指正,水平有限,望...
摘要:本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁的行為層負責(zé)回答內(nèi)容應(yīng)該如何對事件做出反應(yīng)這一問題。 本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會有一些跳槽的悸動,通過對本篇知識的整理以及經(jīng)驗的總結(jié),希望能幫到更多的前端面試者。(如有錯誤或更好的答案,歡迎指正,水平有限,望...
摘要:本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁的行為層負責(zé)回答內(nèi)容應(yīng)該如何對事件做出反應(yīng)這一問題。 本篇收錄了一些面試中經(jīng)常會遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會有一些跳槽的悸動,通過對本篇知識的整理以及經(jīng)驗的總結(jié),希望能幫到更多的前端面試者。(如有錯誤或更好的答案,歡迎指正,水平有限,望...
摘要:包含基于和標準的表示使用進行動態(tài)顯示和交互使用與服務(wù)器進行異步通信使用綁定一切。重定向表示要完成請求,需要進一步操作。方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛芍付ǖ男聦ο蟆? 一. 什么是Ajax??? 術(shù)語Ajax用來描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。 Ajax它是Asynchronous JavaScript + XML的簡寫 定義Ajax: ...
閱讀 2186·2021-11-23 10:06
閱讀 3579·2021-11-11 16:54
閱讀 3388·2019-08-29 17:31
閱讀 3631·2019-08-29 17:05
閱讀 2218·2019-08-26 13:36
閱讀 2209·2019-08-26 12:17
閱讀 578·2019-08-26 12:12
閱讀 1726·2019-08-26 10:19