成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Web前端經(jīng)典面試試題(三)

JackJiang / 3575人閱讀

摘要:包含基于和標(biāo)準(zhǔn)的表示使用進(jìn)行動(dòng)態(tài)顯示和交互使用與服務(wù)器進(jìn)行異步通信使用綁定一切。重定向表示要完成請(qǐng)求,需要進(jìn)一步操作。方法可將一個(gè)函數(shù)的對(duì)象上下文從初始的上下文改變?yōu)橛芍付ǖ男聦?duì)象。

一. 什么是Ajax???
術(shù)語(yǔ)Ajax用來(lái)描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。
Ajax它是“Asynchronous JavaScript + XML的簡(jiǎn)寫”

定義Ajax:

    Ajax不是一種技術(shù)。實(shí)際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強(qiáng)大方式組合而成。Ajax包含:
    * 基于XHTML和CSS標(biāo)準(zhǔn)的表示;
    * 使用Document Object Model進(jìn)行動(dòng)態(tài)顯示和交互;
    * 使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;
    * 使用JavaScript綁定一切。

二. 什么是JSON
JSON來(lái)自于javascript,但是應(yīng)用上面遠(yuǎn)遠(yuǎn)不止是javascript的json,它相當(dāng)于xml,是一種比較流行的標(biāo)準(zhǔn)格式,是數(shù)據(jù)的載體
javascript json 是用于javascript程序的,它可以支持對(duì)象引用以及函數(shù);ajax json只是最簡(jiǎn)單的字符串和數(shù)字,它不可能完全支持javascript里面的數(shù)據(jù)類型。
相對(duì)于XML,JSON更加易讀、更便于肉眼檢查。在語(yǔ)法的層面上,JSON與其他格式的區(qū)別是在于分隔數(shù)據(jù)的字符

三.淺談一下如何避免用戶多次點(diǎn)擊造成的多次請(qǐng)求
我們?cè)谠L問(wèn)有的網(wǎng)站,輸入表單完成以后,單擊提交按鈕進(jìn)行提交以后,提交按鈕就會(huì)變?yōu)榛疑?,用戶不能再單擊第二次,直到重新加載頁(yè)面或者跳轉(zhuǎn)。這樣,可以一定程度上防止用戶重復(fù)提交導(dǎo)致應(yīng)用程序上邏輯錯(cuò)誤。
   還有很多其他的方式進(jìn)行防止重復(fù)點(diǎn)擊提交,如
1> 定義標(biāo)志位:
 點(diǎn)擊觸發(fā)請(qǐng)求后,標(biāo)志位為false量;請(qǐng)求(或者包括請(qǐng)求后具體的業(yè)務(wù)流程處理)后,標(biāo)志位為true量。通過(guò)標(biāo)志位來(lái)判斷用戶點(diǎn)擊是否具備應(yīng)有的響應(yīng)。
2> 卸載及重載綁定事件:
   點(diǎn)擊觸發(fā)請(qǐng)求后,卸載點(diǎn)擊事件;請(qǐng)求(或者包括請(qǐng)求后具體的業(yè)務(wù)流程處理)后,重新載入綁定事件。
3> 替換(移除)按鈕DOM
   點(diǎn)擊觸發(fā)請(qǐng)求后,將按鈕DOM對(duì)象替換掉(或者將之移除),自然而然此時(shí)不在具備點(diǎn)擊事件;請(qǐng)求(或者包括請(qǐng)求后具體的業(yè)務(wù)流程處理)后,給新的按鈕DOM定義點(diǎn)擊事件。

更多講解參考:http://www.cnblogs.com/jinguangguo/archive/2013/05/20/3086925.html

四.同步和異步的區(qū)別?
同步的概念應(yīng)該是來(lái)自于操作系統(tǒng)中關(guān)于同步的概念:
不同進(jìn)程為協(xié)同完成某項(xiàng)工作而在先后次序上調(diào)整(通過(guò)阻塞,喚醒等方式)。同步強(qiáng)調(diào)的是順序性,誰(shuí)先誰(shuí)后;異步則不存在這種順序性。
//
同步:瀏覽器訪問(wèn)服務(wù)器請(qǐng)求,用戶看得到頁(yè)面刷新,重新發(fā)請(qǐng)求,等請(qǐng)求完,頁(yè)面刷新,新內(nèi)容出現(xiàn),用戶看到新內(nèi)容,進(jìn)行下一步操作。
//
異步:瀏覽器訪問(wèn)服務(wù)器請(qǐng)求,用戶正常操作,瀏覽器后端進(jìn)行請(qǐng)求。等請(qǐng)求完,頁(yè)面不刷新,新內(nèi)容也會(huì)出現(xiàn),用戶看到新內(nèi)容。

五.異步加載的方式有哪些?
(1)defer,只支持 IE
(2)async:
(3)創(chuàng)建 script,插入到 DOM 中,加載完畢后 callBack
六.27. CORS是什么?對(duì)于跨域請(qǐng)求,如何將附帶憑證(HTTP Cookie及HTTP認(rèn)證信息)的請(qǐng)求發(fā)送至服務(wù)器?(提示:后續(xù)真實(shí)工作中可能會(huì)用到)
跨域請(qǐng)求一直是網(wǎng)頁(yè)編程中的一個(gè)難題,在過(guò)去,絕大多數(shù)人都傾向于使用JSONP來(lái)解決這一問(wèn)題。不過(guò)現(xiàn)在,我們可以考慮一下W3C中一項(xiàng)新的特性——CORS(Cross-Origin Resource Sharing)了。CORS是現(xiàn)代瀏覽器支持跨域資源請(qǐng)求的一種方式。    

解決方法:        
當(dāng)你使用XMLHttpRequest發(fā)送請(qǐng)求時(shí),瀏覽器發(fā)現(xiàn)該請(qǐng)求不符合同源策略,會(huì)給該請(qǐng)求加一個(gè)請(qǐng)求頭:Origin,后臺(tái)(php或者其它接收數(shù)據(jù)方)進(jìn)行一系列處理,如果確定接受請(qǐng)求則在返回結(jié)果中加入一個(gè)響應(yīng)頭:Access-Control-Allow-Origin;瀏覽器判斷該相應(yīng)頭中是否包含Origin的值,如果有則瀏覽器會(huì)處理響應(yīng),我們就可以拿到響應(yīng)數(shù)據(jù),如果不包含瀏覽器直接駁回,這時(shí)我們無(wú)法拿到響應(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ù)是怎樣一個(gè)過(guò)程?
a.域名解析
b.發(fā)起TCP的三次握手
c.建立TCP連接后發(fā)起http請(qǐng)求
d.服務(wù)器端響應(yīng)http請(qǐng)求,瀏覽器得到html碼
e.瀏覽器解析html代碼,并請(qǐng)求html代碼中的資源
f.瀏覽器對(duì)頁(yè)面進(jìn)行渲染并呈現(xiàn)給客戶

更多詳細(xì)參考地址:http://www.360doc.com/content/14/0725/20/1073512_397054861.shtml
八. get與post兩種方式的優(yōu)缺點(diǎn)。
get:
    get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù);
    get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB;
    get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好;
    get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到;
    在做數(shù)據(jù)查詢時(shí),建議用Get方式;

post:
    post是通過(guò)HTTP post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址,用戶看不到這個(gè)過(guò)程;
    所以:包含機(jī)密信息的話,建議用Post數(shù)據(jù)提交方式;而在做數(shù)據(jù)添加、修改或刪除時(shí),建議用Post方式。
九.對(duì)于request.status的http狀態(tài)碼 用于表示網(wǎng)頁(yè)服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼。1,2,3,4,5開頭的狀態(tài)碼分別代表什么(提示:404頁(yè)面表示禁止訪問(wèn)等)
1xx(臨時(shí)響應(yīng))表示臨時(shí)響應(yīng)并需要請(qǐng)求者繼續(xù)執(zhí)行操作的狀態(tài)代碼。
2xx (成功)表示成功處理了請(qǐng)求的狀態(tài)代碼。
3xx (重定向) 表示要完成請(qǐng)求,需要進(jìn)一步操作。 通常,這些狀態(tài)代碼用來(lái)重定向。
4xx(請(qǐng)求錯(cuò)誤) 這些狀態(tài)代碼表示請(qǐng)求可能出錯(cuò),妨礙了服務(wù)器的處理。
5xx(服務(wù)器錯(cuò)誤)這些狀態(tài)代碼表示服務(wù)器在嘗試處理請(qǐng)求時(shí)發(fā)生內(nèi)部錯(cuò)誤。 這些錯(cuò)誤可能是服務(wù)器本身的錯(cuò)誤,而不是請(qǐng)求出錯(cuò)。
十.jQuery與jQuery UI有啥區(qū)別?
`jQuery`是一個(gè)js庫(kù),主要提供的功能是選擇器,屬性修改和事件綁定等等。
`jQuery UI`則是在jQuery的基礎(chǔ)上,利用jQuery的擴(kuò)展性,設(shè)計(jì)的插件。提供了一些常用的界面元素,諸如對(duì)話框、拖動(dòng)行為、改變大小行為等等
十一.$(document).ready與window.onload有何區(qū)別?
$(document).ready 對(duì)于支持DOMContentLoaded事件的瀏覽器,會(huì)使用該事件,所有的節(jié)點(diǎn)渲染完畢,就執(zhí)行,可以調(diào)用多次,不支持的就使用 onload事件
window.onload事件要等到所有的資源加載完畢,如圖片,視頻,js腳本等,只能綁定一次,后面綁定的覆蓋前面所綁定的事件
十二.jQuery中,如何阻止事件冒泡和瀏覽器默認(rèn)行為?
e.preventDefault();
e.stopPropagation();
十三. Node.js的適用場(chǎng)景?
高并發(fā)、聊天、實(shí)時(shí)消息推送、服務(wù)器做前端資源壓縮
十四. 那些操作會(huì)造成內(nèi)存泄漏?
內(nèi)存泄漏是指任何對(duì)象在您不再擁有或需要它之后任然存在。
垃圾回收器定期掃描對(duì)象,并計(jì)算引用了每個(gè)對(duì)象的其他對(duì)象的數(shù)量,如果一個(gè)對(duì)象的引用數(shù)量為0(沒(méi)有其他對(duì)象引用過(guò)該對(duì)象),或?qū)υ搶?duì)象的惟一引用是循環(huán)的,那么該對(duì)象的內(nèi)存即可回收。
//
setTimeout 的第一個(gè)參數(shù)使用字符串而非函數(shù)的話,會(huì)引發(fā)內(nèi)存泄漏。
閉包、控制臺(tái)日志、循環(huán)(在兩個(gè)對(duì)象彼此引用且彼此保留時(shí),就會(huì)產(chǎn)生一個(gè)循環(huán))
十五.call() 和 .apply() 的區(qū)別?
call方法: 
    語(yǔ)法:call(thisObj,Object)
    定義:調(diào)用一個(gè)對(duì)象的一個(gè)方法,以另一個(gè)對(duì)象替換當(dāng)前對(duì)象。
    說(shuō)明:
    call 方法可以用來(lái)代替另一個(gè)對(duì)象調(diào)用一個(gè)方法。call 方法可將一個(gè)函數(shù)的對(duì)象上下文從初始的上下文改變?yōu)橛?thisObj 指定的新對(duì)象。 
    如果沒(méi)有提供 thisObj 參數(shù),那么 Global 對(duì)象被用作 thisObj。 

apply方法: 
    語(yǔ)法:apply(thisObj,[argArray])
    定義:應(yīng)用某一對(duì)象的一個(gè)方法,用另一個(gè)對(duì)象替換當(dāng)前對(duì)象。 
    說(shuō)明: 
    如果 argArray 不是一個(gè)有效的數(shù)組或者不是 arguments 對(duì)象,那么將導(dǎo)致一個(gè) TypeError。 
    如果沒(méi)有提供 argArray 和 thisObj 任何一個(gè)參數(shù),那么 Global 對(duì)象將被用作 thisObj, 并且無(wú)法被傳遞任何參數(shù)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/114097.html

相關(guān)文章

  • Web前端經(jīng)典面試試題(一)

    摘要:本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁(yè)的行為層負(fù)責(zé)回答內(nèi)容應(yīng)該如何對(duì)事件做出反應(yīng)這一問(wèn)題。 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會(huì)有一些跳槽的悸動(dòng),通過(guò)對(duì)本篇知識(shí)的整理以及經(jīng)驗(yàn)的總結(jié),希望能幫到更多的前端面試者。(如有錯(cuò)誤或更好的答案,歡迎指正,水平有限,望...

    princekin 評(píng)論0 收藏0
  • Web前端經(jīng)典面試試題(一)

    摘要:本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁(yè)的行為層負(fù)責(zé)回答內(nèi)容應(yīng)該如何對(duì)事件做出反應(yīng)這一問(wèn)題。 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會(huì)有一些跳槽的悸動(dòng),通過(guò)對(duì)本篇知識(shí)的整理以及經(jīng)驗(yàn)的總結(jié),希望能幫到更多的前端面試者。(如有錯(cuò)誤或更好的答案,歡迎指正,水平有限,望...

    Batkid 評(píng)論0 收藏0
  • Web前端經(jīng)典面試試題(一)

    摘要:本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁(yè)的行為層負(fù)責(zé)回答內(nèi)容應(yīng)該如何對(duì)事件做出反應(yīng)這一問(wèn)題。 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會(huì)有一些跳槽的悸動(dòng),通過(guò)對(duì)本篇知識(shí)的整理以及經(jīng)驗(yàn)的總結(jié),希望能幫到更多的前端面試者。(如有錯(cuò)誤或更好的答案,歡迎指正,水平有限,望...

    chanthuang 評(píng)論0 收藏0
  • Web前端經(jīng)典面試試題

    摘要:包含基于和標(biāo)準(zhǔn)的表示使用進(jìn)行動(dòng)態(tài)顯示和交互使用與服務(wù)器進(jìn)行異步通信使用綁定一切。重定向表示要完成請(qǐng)求,需要進(jìn)一步操作。方法可將一個(gè)函數(shù)的對(duì)象上下文從初始的上下文改變?yōu)橛芍付ǖ男聦?duì)象。 一. 什么是Ajax??? 術(shù)語(yǔ)Ajax用來(lái)描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。 Ajax它是Asynchronous JavaScript + XML的簡(jiǎn)寫 定義Ajax: ...

    DrizzleX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<