前端面試筆試題總結(jié)_第1頁(yè)
前端面試筆試題總結(jié)_第2頁(yè)
前端面試筆試題總結(jié)_第3頁(yè)
前端面試筆試題總結(jié)_第4頁(yè)
前端面試筆試題總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JavaScript類庫(kù):jQuery、PrototypeJavaScript框架:BackBone、Vuejs、Angular.js、React.jsCSS預(yù)編譯器:LessCss、SassJavaScript模塊加載器:RequireJS、Browserify項(xiàng)目構(gòu)建工具:Grunt、Gulp項(xiàng)目管理和協(xié)同工具的使用:SVN、Git前端測(cè)試框架以及工具:Jasmine、Mocha基本后端開(kāi)發(fā):NodeJS、Pythonweb相關(guān)技術(shù):MongoDB、CoffeeScript、SEO、Socket.io、Express、Tornado等1、 談?wù)刢ookie的弊端:cookie雖然在持久保存

2、客戶端數(shù)據(jù)提供了方便,分擔(dān)了服務(wù)器存儲(chǔ)的負(fù)擔(dān),但還是有很多局限性的。第一:每個(gè)特定的域名下最多生成20個(gè)cookie1.IE6或更低版本最多20個(gè)cookie2.IE7和之后的版本最后可以有50個(gè)cookie。3.Firefox最多50個(gè)cookie4.chrome和Safari沒(méi)有做硬性限制IE和Opera 會(huì)清理近期最少使用的cookie,F(xiàn)irefox會(huì)隨機(jī)清理cookie。cookie的最大大約為4096字節(jié),為了兼容性,一般不能超過(guò)4095字節(jié)。IE 提供了一種存儲(chǔ)可以持久化用戶數(shù)據(jù),叫做uerData,從IE5.0就開(kāi)始支持。每個(gè)數(shù)據(jù)最多128K,每個(gè)域名下最多1M。這個(gè)持久化數(shù)據(jù)

3、放在緩存中,如果緩存沒(méi)有清理,那么會(huì)一直存在。優(yōu)點(diǎn):極高的擴(kuò)展性和可用性1.通過(guò)良好的編程,控制保存在cookie中的session對(duì)象的大小。2.通過(guò)加密和安全傳輸技術(shù)(SSL),減少cookie被破解的可能性。3.只在cookie中存放不敏感數(shù)據(jù),即使被盜也不會(huì)有重大損失。4.控制cookie的生命期,使之不會(huì)永遠(yuǎn)有效。偷盜者很可能拿到一個(gè)過(guò)期的cookie。缺點(diǎn):1.Cookie數(shù)量和長(zhǎng)度的限制。每個(gè)domain最多只能有20條cookie,每個(gè)cookie長(zhǎng)度不能超過(guò)4KB,否則會(huì)被截掉。2.安全性問(wèn)題。如果cookie被人攔截了,那人就可以取得所有的session信息。即使加密也與事

4、無(wú)補(bǔ),因?yàn)閿r截者并不需要知道cookie的意義,他只要原樣轉(zhuǎn)發(fā)cookie就可以達(dá)到目的了。3.有些狀態(tài)不可能保存在客戶端。例如,為了防止重復(fù)提交表單,我們需要在服務(wù)器端保存一個(gè)計(jì)數(shù)器。如果我們把這個(gè)計(jì)數(shù)器保存在客戶端,那么它起不到任何作用。二、瀏覽器本地存儲(chǔ):在較高版本的瀏覽器中,js提供了sessionStorage和globalStorage。在HTML5中提供了localStorage來(lái)取代globalStorage。html5中的Web Storage包括了兩種存儲(chǔ)方式:sessionStorage和localStorage。sessionStorage用于本地存儲(chǔ)一個(gè)會(huì)話(sess

5、ion)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個(gè)會(huì)話中的頁(yè)面才能訪問(wèn)并且當(dāng)會(huì)話結(jié)束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲(chǔ),僅僅是會(huì)話級(jí)別的存儲(chǔ)。而localStorage用于持久化的本地存儲(chǔ),除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會(huì)過(guò)期的。三、web storage和cookie的區(qū)別Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲(chǔ)設(shè)計(jì)的。Cookie的大小是受限的,并且每次你請(qǐng)求一個(gè)新的頁(yè)面的時(shí)候Cookie都會(huì)被發(fā)送過(guò)去,這樣無(wú)形中浪費(fèi)了帶寬,另外cookie還需要指定作用域,不可以跨域調(diào)用。除此之外,Web Storage擁有setItem

6、,getItem,removeItem,clear等方法,不像cookie需要前端開(kāi)發(fā)者自己封裝setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是與服務(wù)器進(jìn)行交互,作為HTTP規(guī)范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲(chǔ)”數(shù)據(jù)而生瀏覽器的支持除了IE及以下不支持外,其他標(biāo)準(zhǔn)瀏覽器都完全支持(ie及FF需在web服務(wù)器里運(yùn)行),值得一提的是IE總是辦好事,例如IE7、IE6中的UserData其實(shí)就是javascript本地存儲(chǔ)的解決方案。通過(guò)簡(jiǎn)單的代碼封裝可以統(tǒng)一到所有的瀏覽器都支持web storage。localStora

7、ge和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等四、display:none和visibility:hidden的區(qū)別?display:none  隱藏對(duì)應(yīng)的元素,在文檔布局中不再給它分配空間,它各邊的元素會(huì)合攏,就當(dāng)他從來(lái)不存在。visibility:hidden  隱藏對(duì)應(yīng)的元素,但是在文檔布局中仍保留原來(lái)的空間。五、CSS中 link 和import 的區(qū)別是?(1) link屬于HTML標(biāo)簽,而import是CSS提供的; (2) 頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而import引用的C

8、SS會(huì)等到頁(yè)面被加載完再加載;(3) import只在IE5以上才能識(shí)別,而link是HTML標(biāo)簽,無(wú)兼容問(wèn)題; (4) link方式的樣式的權(quán)重 高于import的權(quán)重.六、position的absolute與fixed共同點(diǎn)與不同點(diǎn)A:共同點(diǎn):1.改變行內(nèi)元素的呈現(xiàn)方式,display被置為block;2.讓元素脫離普通流,不占據(jù)空間;3.默認(rèn)會(huì)覆蓋到非定位元素上B不同點(diǎn):absolute的”根元素“是可以設(shè)置的,而fixed的”根元素“固定為瀏覽器窗口。當(dāng)你滾動(dòng)網(wǎng)頁(yè),fixed元素與瀏覽器窗口之間的距離是不變的。  七、介紹一下CSS的盒子模型?參考答案1)盒模型:

9、內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border)2) 有兩種, IE 盒子模型、標(biāo)準(zhǔn) W3C 盒子模型;IE的content部分包含了 border 和 pading;3)八、CSS 選擇符有哪些?哪些屬性可以繼承??jī)?yōu)先級(jí)算法如何計(jì)算? CSS3新增偽類有那些?參考答案CSS 選擇符:1.id選擇器(# myid)2.類選擇器(.myclassname)3.標(biāo)簽選擇器(div, h1, p)4.相鄰選擇器(h1 + p)5.子選擇器(ul > li)6.后代選擇器(li a)7.通配符選擇器( * )8.屬性選擇器(arel = "e

10、xternal")9.偽類選擇器(a: hover, li:nth-child)可繼承的樣式:1.font-size2.font-family3.color4.text-indent不可繼承的樣式:1.border2.padding3.margin4.width5.height優(yōu)先級(jí)算法:1.優(yōu)先級(jí)就近原則,同權(quán)重情況下樣式定義最近者為準(zhǔn);2.載入樣式以最后載入的定位為準(zhǔn);3.!important >  id > class > tag  4.important 比 內(nèi)聯(lián)優(yōu)先級(jí)高,但內(nèi)聯(lián)比 id 要高CSS3新增偽類舉例:p:first-of-t

11、ype 選擇屬于其父元素的首個(gè) <p> 元素的每個(gè) <p> 元素。p:last-of-type  選擇屬于其父元素的最后 <p> 元素的每個(gè) <p> 元素。p:only-of-type  選擇屬于其父元素唯一的 <p> 元素的每個(gè) <p> 元素。p:only-child    選擇屬于其父元素的唯一子元素的每個(gè) <p> 元素。p:nth-child(2)  選擇屬于其父元素的第二個(gè)子元素的每個(gè) <p> 元素。:enabled :disabled 控制

12、表單控件的禁用狀態(tài)。:checked        單選框或復(fù)選框被選中。九、列出display的值,說(shuō)明他們的作用。position的值, relative和absolute分別是相對(duì)于誰(shuí)進(jìn)行定位的?參考答案display 的值的作用: 1.block 象塊類型元素一樣顯示。2.inline 缺省值。象行內(nèi)元素類型一樣顯示。3.inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。4.list-item 象塊類型元素一樣顯示,并添加樣式列表標(biāo)記。position 的值的定位區(qū)別:1.absolute 生成絕對(duì)定位的元素,

13、相對(duì)于 static 定位以外的第一個(gè)祖先元素進(jìn)行定位。 2.fixed 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位(老IE不支持)。3.relative 生成相對(duì)定位的元素,相對(duì)于其在普通流中的位置進(jìn)行定位。 4.static 默認(rèn)值。沒(méi)有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right z-index 聲明)。5.inherit 規(guī)定從父元素繼承 position 屬性的值。十、CSS3有哪些新特性?參考答案1. CSS3實(shí)現(xiàn)圓角(border-radius),陰影(box-shadow),2. 對(duì)文字加特效(text-shadow、

14、),線性漸變(gradient),旋轉(zhuǎn)(transform)3. transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);/ 旋轉(zhuǎn),縮放,定位,傾斜4. 增加了更多的CSS選擇器  多背景 rgba 5. 在CSS3中唯一引入的偽元素是 :selection.6. 媒體查詢,多欄布局7. border-image十一、為什么要初始化CSS樣式。參考答案因?yàn)闉g覽器的兼容問(wèn)題,不同瀏覽器對(duì)有些標(biāo)簽的默認(rèn)值是不同的,如果沒(méi)對(duì)CSS初始化往往會(huì)出現(xiàn)瀏覽器之間的頁(yè)面顯示差異。當(dāng)然,初始

15、化樣式會(huì)對(duì)SEO有一定的影響,但魚(yú)和熊掌不可兼得,但力求影響最小的情況下初始化。*最簡(jiǎn)單的初始化方法就是(不建議):padding: 0; margin: 0; 淘寶的樣式初始化: body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td margin:0; padding:0; body, button, input, select, textarea font:12px/1

16、.5tahoma, arial, 5b8b4f53; h1, h2, h3, h4, h5, h6 font-size:100%; address, cite, dfn, em, var font-style:normal; code, kbd, pre, samp font-family:couriernew, courier, monospace; small font-size:12px; ul, ol list-style:none; a text-decoration:none; a:hover text-decoration:underline; sup vertical-alig

17、n:text-top; sub vertical-align:text-bottom; legend color:#000; fieldset, img border:0; button, input, select, textarea font-size:100%; table border-collapse:collapse; border-spacing:0;  十二、對(duì)BFC規(guī)范的理解?參考答案BFC,塊級(jí)格式化上下文,一個(gè)創(chuàng)建了新的BFC的盒子是獨(dú)立布局的,盒子里面的子元素的樣式不會(huì)影響到外面的元素。在同一個(gè) BFC 中的兩個(gè)毗鄰的塊級(jí)盒在垂直方向(和布局方向有關(guān)系)的 m

18、argin 會(huì)發(fā)生折疊。W3C CSS 2.1 規(guī)范中的一個(gè)概念,它決定了元素如何對(duì)其內(nèi)容進(jìn)行布局,以及與其他元素的關(guān)系和相互作用。十三、解釋下 CSS sprites,以及你要如何在頁(yè)面或網(wǎng)站中使用它。參考答案CSS Sprites 其實(shí)就是把網(wǎng)頁(yè)中一些背景圖片整合到一張圖片文件中,再利用 CSS 的"background-image","background-repeat","background-position" 的組合進(jìn)行背景定位,background-position 可以用數(shù)字能精確的定位出背景圖片的位置。這樣可以減少很

19、多圖片請(qǐng)求的開(kāi)銷,因?yàn)檎?qǐng)求耗時(shí)比較長(zhǎng);請(qǐng)求雖然可以并發(fā),但是也有限制,一般瀏覽器都是6個(gè)。對(duì)于未來(lái)而言,就不需要這樣做了,因?yàn)橛辛?http2。十四、說(shuō)說(shuō)你對(duì)語(yǔ)義化的理解?參考答案1. 去掉或者丟失樣式的時(shí)候能夠讓頁(yè)面呈現(xiàn)出清晰的結(jié)構(gòu)2. 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲(chóng)抓取更多的有效信息:爬蟲(chóng)于標(biāo)簽來(lái)確定上下文和各個(gè)關(guān)鍵字的依賴權(quán)重;3. 方便其他設(shè)備解析(如屏幕閱讀器、盲人閱讀器、移動(dòng)設(shè)備)以意義的方式來(lái)渲染網(wǎng)頁(yè);4. 便于團(tuán)隊(duì)開(kāi)發(fā)和維護(hù),語(yǔ)義化更具可讀性,是下一步吧網(wǎng)頁(yè)的重要?jiǎng)酉颍裱璚3C標(biāo)準(zhǔn)的團(tuán)隊(duì)都遵循這個(gè)標(biāo)準(zhǔn),可以減少差異化。十五、Doctype作用? 嚴(yán)格模式與混

20、雜模式如何區(qū)分?它們有何意義?參考答案1. <!DOCTYPE> 聲明位于文檔中的最前面,處于 <html> 標(biāo)簽之前。告知瀏覽器以何種模式來(lái)渲染文檔。 2. 嚴(yán)格模式的排版和 JS 運(yùn)作模式是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。3. 在混雜模式中,頁(yè)面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點(diǎn)無(wú)法工作。4. DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。 十六、你知道多少種Doctype文檔類型?參考答案1. 該標(biāo)簽可聲明三種 DTD 類型,分別表示嚴(yán)格版本、過(guò)渡版本以及基于框架的 HTML 文檔。2. HTML 4.01 規(guī)

21、定了三種文檔類型:Strict、Transitional 以及 Frameset。3. XHTML 1.0 規(guī)定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。4. Standards (標(biāo)準(zhǔn))模式(也就是嚴(yán)格呈現(xiàn)模式)用于呈現(xiàn)遵循最新標(biāo)準(zhǔn)的網(wǎng)頁(yè),而 Quirks(包容)模式(也就是松散呈現(xiàn)模式或者兼容模式)用于呈現(xiàn)為傳統(tǒng)瀏覽器而設(shè)計(jì)的網(wǎng)頁(yè)。十七、HTML與XHTML二者有什么區(qū)別參考答案1. 所有的標(biāo)記都必須要有一個(gè)相應(yīng)的結(jié)束標(biāo)記2. 所有標(biāo)簽的元素和屬性的名字都必須使用小寫3. 所有的 XML 標(biāo)記都必須合理嵌套4. 所有的屬性必須用引號(hào) &quo

22、t;" 括起來(lái)5. 把所有 < 和 & 特殊符號(hào)用編碼表示6. 給所有屬性賦一個(gè)值7. 不要在注釋內(nèi)容中使用 "-"8. 圖片必須有說(shuō)明文字十八、html常見(jiàn)兼容性問(wèn)題?參考答案1. png24位的圖片在iE6瀏覽器上出現(xiàn)背景解決方案:做成PNG8,也可以引用一段腳本處理.2. 瀏覽器默認(rèn)的margin和padding不同解決方案:加一個(gè)全局的 *margin:0;padding:0; 來(lái)統(tǒng)一。3. IE6雙邊距bug:在IE6下,如果對(duì)元素設(shè)置了浮動(dòng),同時(shí)又設(shè)置了margin-left或margin-right,margin值會(huì)加倍。#box fl

23、oat:left; width:10px; margin:0 0 0 10px; 這種情況之下IE會(huì)產(chǎn)生20px的距離解決方案:在float的標(biāo)簽樣式控制中加入 _display:inline; 將其轉(zhuǎn)化為行內(nèi)屬性。( _ 這個(gè)符號(hào)只有ie6會(huì)識(shí)別)4. 漸進(jìn)識(shí)別的方式,從總體中逐漸排除局部。 首先,巧妙的使用“9”這一標(biāo)記,將IE游覽器從所有情況中分離出來(lái)。 接著,再次使用 "+" 將IE8和IE7、IE6分離開(kāi)來(lái),這樣IE8已經(jīng)獨(dú)立識(shí)別。.bb    background-color:#f1ee18; /*所有識(shí)別*/&

24、#160;   .background-color:#00deff9; /*IE6、7、8識(shí)別*/    +background-color:#a200ff; /*IE6、7識(shí)別*/    _background-color:#1e0bd1; /*IE6識(shí)別*/  5.IE下,可以使用獲取常規(guī)屬性的方法來(lái)獲取自定義屬性,也可以使用 getAttribute() 獲取自定義屬性;Firefox下,只能使用getAttribute()獲取自定義屬性解決方法:統(tǒng)一通過(guò)getAttribute()獲取自定義屬性十九、解釋下浮動(dòng)和它的

25、工作原理?清除浮動(dòng)的技巧參考答案浮動(dòng)元素脫離文檔流,不占據(jù)空間。浮動(dòng)元素碰到包含它的邊框或者浮動(dòng)元素的邊框停留。1. 使用空標(biāo)簽清除浮動(dòng)。這種方法是在所有浮動(dòng)標(biāo)簽后面添加一個(gè)空標(biāo)簽 定義css clear:both. 弊端就是增加了無(wú)意義標(biāo)簽。2. 使用overflow。給包含浮動(dòng)元素的父標(biāo)簽添加css屬性 overflow:auto; zoom:1; zoom:1用于兼容IE6。3. 使用after偽對(duì)象清除浮動(dòng)。該方法只適用于非IE瀏覽器。具體寫法可參照以下示例。使用中需注意以下幾點(diǎn)。一、該方法中必須為需要清除浮動(dòng)元素的偽對(duì)象中設(shè)置 height:0,否則該元素會(huì)比實(shí)際高出若干像素;6.

26、IE下,event對(duì)象有 x、y 屬性,但是沒(méi)有 pageX、pageY屬性; Firefox下,event對(duì)象有 pageX、pageY 屬性,但是沒(méi)有 x、y 屬性解決方法:(條件注釋)缺點(diǎn)是在IE瀏覽器下可能會(huì)增加額外的HTTP請(qǐng)求數(shù)。7. Chrome 中文界面下默認(rèn)會(huì)將小于 12px 的文本強(qiáng)制按照 12px 顯示解決方法:可通過(guò)加入 CSS 屬性 -webkit-text-size-adjust: none; 解決8. 超鏈接訪問(wèn)過(guò)后 hover 樣式就不出現(xiàn)了,被點(diǎn)擊訪問(wèn)過(guò)的超鏈接樣式不在具有 hover 和 active 了解決方法:改變CSS屬性的排列順序 L-V-H-Aa:

27、link a:visited a:hover a:active 9. 怪異模式問(wèn)題:漏寫 DTD 聲明,F(xiàn)irefox 仍然會(huì)按照標(biāo)準(zhǔn)模式來(lái)解析網(wǎng)頁(yè),但在 IE 中會(huì)觸發(fā)怪異模式。為避免怪異模式給我們帶來(lái)不必要的麻煩,最好養(yǎng)成書(shū)寫 DTD 聲明的好習(xí)慣。現(xiàn)在可以使用html5() 推薦的寫法:<doctype html>10. 上下margin重合問(wèn)題:ie和ff都存在,相鄰的兩個(gè)div的margin-left和margin-right不會(huì)重合,但是margin-top和margin-bottom卻會(huì)發(fā)生重合。解決方法:養(yǎng)成良好的代碼編寫習(xí)慣,同時(shí)采用margin-top或者同時(shí)采

28、用margin-bottom。11. ie6對(duì)png圖片格式支持不好解決方案:引用一段腳本處理二十、浮動(dòng)元素引起的問(wèn)題和解決辦法?參考答案浮動(dòng)元素引起的問(wèn)題:1. 父元素的高度無(wú)法被撐開(kāi),影響與父元素同級(jí)的元素2. 與浮動(dòng)元素同級(jí)的非浮動(dòng)元素會(huì)跟隨其后3. 若非第一個(gè)元素浮動(dòng),則該元素之前的元素也需要浮動(dòng),否則會(huì)影響頁(yè)面顯示的結(jié)構(gòu)解決方法:使用 CSS 中的 clear:both; 屬性來(lái)清除元素的浮動(dòng)可解決2、3問(wèn)題,對(duì)于問(wèn)題1,添加如下樣式,給父元素添加clearfix樣式:.clearfix:aftercontent: "."display: block;height

29、: 0;clear: both;visibility: hidden;.clearfixdisplay: inline-block; /* for IE/Mac */清除浮動(dòng)的幾種方法:1. 額外標(biāo)簽法,<div style="clear:both;"></div>(缺點(diǎn):不過(guò)這個(gè)辦法會(huì)增加額外的標(biāo)簽使HTML結(jié)構(gòu)看起來(lái)不夠簡(jiǎn)潔。)2. 使用after偽類#parent:after    content:"."    height:0;    visibility:hid

30、den;    display:block;    clear:both;3. 浮動(dòng)外部元素4. 設(shè)置 overflow 為 hidden 或者 auto二十一、IE 8以下版本的瀏覽器中的盒模型有什么不同參考答案IE8以下瀏覽器的盒模型中定義的元素的寬高不包括內(nèi)邊距和邊框二十二、DOM操作怎樣添加、移除、移動(dòng)、復(fù)制、創(chuàng)建和查找節(jié)點(diǎn)。參考答案1. 創(chuàng)建新節(jié)點(diǎn)createDocumentFragment() / 創(chuàng)建一個(gè)DOM片段createElement() / 創(chuàng)建一個(gè)具體的元素createTextNode() / 創(chuàng)建一個(gè)文本節(jié)點(diǎn)2. 添加、移除、替

31、換、插入appendChild()removeChild()replaceChild()insertBefore() / 在已有的子節(jié)點(diǎn)前插入一個(gè)新的子節(jié)點(diǎn)3. 查找getElementsByTagName() / 通過(guò)標(biāo)簽名稱getElementsByName() / 通過(guò)元素的Name屬性的值(IE容錯(cuò)能力較強(qiáng),會(huì)得到一個(gè)數(shù)組,其中包括id等于name值的)getElementById() / 通過(guò)元素Id,唯一性二十三、html5有哪些新特性、移除了那些元素?如何處理HTML5新標(biāo)簽的瀏覽器兼容問(wèn)題?如何區(qū)分 HTML 和 HTML5?參考答案新特性:HTML5 現(xiàn)在已經(jīng)不是 SGML

32、的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。1. 拖拽釋放(Drag and drop) API 2. 語(yǔ)義化更好的內(nèi)容標(biāo)簽(header,nav,footer,aside,article,section)3. 音頻、視頻API(audio,video)4. 畫布(Canvas) API5. 地理(Geolocation) API6. 本地離線存儲(chǔ) localStorage 長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;7. sessionStorage 的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除8. 表單控件,calendar、date、time、email、url、search  

33、;9. 新的技術(shù)webworker, websocket, Geolocation移除的元素:1. 純表現(xiàn)的元素:basefont,big,center,font, s,strike,tt,u;2. 對(duì)可用性產(chǎn)生負(fù)面影響的元素:frame,frameset,noframes;支持HTML5新標(biāo)簽:1. IE8/IE7/IE6支持通過(guò) document.createElement 方法產(chǎn)生的標(biāo)簽,可以利用這一特性讓這些瀏覽器支持 HTML5 新標(biāo)簽,瀏覽器支持新標(biāo)簽后,還需要添加標(biāo)簽?zāi)J(rèn)的樣式(當(dāng)然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架):<!-if lt IE

34、 9> <script> src=""</script> <!endif-> 如何區(qū)分: DOCTYPE聲明新增的結(jié)構(gòu)元素、功能元素二十四、iframe的優(yōu)缺點(diǎn)?參考答案優(yōu)點(diǎn):1. 解決加載緩慢的第三方內(nèi)容如圖標(biāo)和廣告等的加載問(wèn)題2. Security sandbox3. 并行加載腳本缺點(diǎn):1. iframe會(huì)阻塞主頁(yè)面的Onload事件2. 即時(shí)內(nèi)容為空,加載也需要時(shí)間3. 沒(méi)有語(yǔ)意二十五、如何實(shí)現(xiàn)瀏覽器內(nèi)多個(gè)標(biāo)簽頁(yè)之間的通信?調(diào)用 localstorge、cookies 等本地存儲(chǔ)方式二十

35、六、webSocket 如何兼容低瀏覽器?Adobe Flash Socket 、 ActiveX HTMLFile (IE) 、 基于 multipart 編碼發(fā)送 XHR 、 基于長(zhǎng)輪詢的 XHR二十七、線程與進(jìn)程的區(qū)別參考答案1. 一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程2. 線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高3. 另外,進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率4. 線程在執(zhí)行過(guò)程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供

36、多個(gè)線程執(zhí)行控制 5. 從邏輯角度來(lái)看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒(méi)有將多個(gè)線程看做多個(gè)獨(dú)立的應(yīng)用,來(lái)實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別二十八、你如何對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:1. 文件合并2. 文件最小化/文件壓縮3. 使用 CDN 托管 4. 緩存的使用(多個(gè)域名來(lái)提供緩存)二十九、請(qǐng)說(shuō)出三種減少頁(yè)面加載時(shí)間的方法 參考答案1. 優(yōu)化圖片 2. 圖像格式的選擇(GIF:提供的顏色較少,可用在一些對(duì)顏色要求不高的地方) 3. 優(yōu)化CSS(壓縮合并css,如 margin

37、-top, margin-left.) 4. 網(wǎng)址后加斜杠(如目錄,會(huì)判斷這個(gè)目錄是什么文件類型,或者是目錄。) 5. 標(biāo)明高度和寬度(如果瀏覽器沒(méi)有找到這兩個(gè)參數(shù),它需要一邊下載圖片一邊計(jì)算大小,如果圖片很多,瀏覽器需要不斷地調(diào)整頁(yè)面。這不但影響速度,也影響瀏覽體驗(yàn)。 當(dāng)瀏覽器知道了高度和寬度參數(shù)后,即使圖片暫時(shí)無(wú)法顯示,頁(yè)面上也會(huì)騰出圖片的空位,然后繼續(xù)加載后面的內(nèi)容。從而加載時(shí)間快了,瀏覽體驗(yàn)也更好了) 6. 減少http請(qǐng)求(合并文件,合并圖片)三十、你都使用哪些工具來(lái)測(cè)試代碼的性能?1. Profiler2. JSPerf()3. Dromae

38、o三十一、什么是 FOUC(無(wú)樣式內(nèi)容閃爍)?你如何來(lái)避免 FOUC?參考答案FOUC - Flash Of Unstyled Content 文檔樣式閃爍<style type="text/css" media="all">import "./fouc.css"</style> 而引用CSS文件的import就是造成這個(gè)問(wèn)題的罪魁禍?zhǔn)住E會(huì)先加載整個(gè)HTML文檔的DOM,然后再去導(dǎo)入外部的CSS文件,因此,在頁(yè)面DOM加載完成到CSS導(dǎo)入完成中間會(huì)有一段時(shí)間頁(yè)面上的內(nèi)容是沒(méi)有樣式的,這段時(shí)間的長(zhǎng)短

39、跟網(wǎng)速,電腦速度都有關(guān)系。解決方法簡(jiǎn)單的出奇,只要在<head>之間加入一個(gè)<link>或者<script>元素就可以了。三十二、null和undefined的區(qū)別?null是一個(gè)表示"無(wú)"的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0undefined是一個(gè)表示"無(wú)"的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN當(dāng)聲明的變量還未被初始化時(shí),變量的默認(rèn)值為undefinednull用來(lái)表示尚未存在的對(duì)象,常用來(lái)表示函數(shù)企圖返回一個(gè)不存在的對(duì)象undefined表示 “缺少值”,就是此處應(yīng)該有一個(gè)值,但是還沒(méi)有定義。典型用法是:1. 變量被聲明了,但沒(méi)有賦值時(shí),

40、就等于 undefined2. 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于 undefined3. 對(duì)象沒(méi)有賦值的屬性,該屬性的值為 undefined4. 函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回 undefinednull表示“沒(méi)有對(duì)象”,即該處不應(yīng)該有值。典型用法是:1. 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象2. 作為對(duì)象原型鏈的終點(diǎn)三十三、new操作符具體干了什么呢?參考答案1. 創(chuàng)建一個(gè)空對(duì)象,并且 this 變量引用該對(duì)象,同時(shí)還繼承了該函數(shù)的原型2. 屬性和方法被加入到 this 引用的對(duì)象中3. 新創(chuàng)建的對(duì)象由 this 所引用,并且最后隱式的返回 thisvar obj  

41、;= ;obj._proto_ = Btotype;ll(obj); 三十四、對(duì)JSON 的了解?參考答案JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它是基于JavaScript的一個(gè)子集。數(shù)據(jù)格式簡(jiǎn)單, 易于讀寫, 占用帶寬小。'age':'12', 'name':'back'三十五、js延遲加載的方式有哪些?1. defer和async2. 動(dòng)態(tài)創(chuàng)建DOM方式(創(chuàng)建script,插入到DOM中,加載完畢后callBack)3. 按需異步載入js三十六、如

42、何解決跨域問(wèn)題?1. jsonp(jsonp 的原理是動(dòng)態(tài)插入 script 標(biāo)簽)2. document.domain + iframe3. 、window.postMessage4. 服務(wù)器上設(shè)置代理頁(yè)面三十七、documen.write和 innerHTML 的區(qū)別document.write 只能重繪整個(gè)頁(yè)面innerHTML 可以重繪頁(yè)面的一部分三十八、.call() 和 .apply() 的作用?動(dòng)態(tài)改變某個(gè)類的某個(gè)方法的運(yùn)行環(huán)境三十九、哪些操作會(huì)造成內(nèi)存泄漏??jī)?nèi)存泄漏指任何對(duì)象在您不再擁有或需要它之后仍然存在。垃圾回收器定期掃描對(duì)象,并計(jì)算引用了每個(gè)對(duì)象的其他對(duì)象的數(shù)量。如果一個(gè)

43、對(duì)象的引用數(shù)量為 0(沒(méi)有其他對(duì)象引用過(guò)該對(duì)象),或?qū)υ搶?duì)象的惟一引用是循環(huán)的,那么該對(duì)象的內(nèi)存即可回收。1. setTimeout 的第一個(gè)參數(shù)使用字符串而非函數(shù)的話,會(huì)引發(fā)內(nèi)存泄漏。2. 閉包3. 控制臺(tái)日志4. 循環(huán)(在兩個(gè)對(duì)象彼此引用且彼此保留時(shí),就會(huì)產(chǎn)生一個(gè)循環(huán))四十、如何判斷當(dāng)前腳本運(yùn)行在瀏覽器還是node環(huán)境中?通過(guò)判斷 Global 對(duì)象是否為window,如果不為window,當(dāng)前腳本沒(méi)有運(yùn)行在瀏覽器中41、什么叫優(yōu)雅降級(jí)和漸進(jìn)增強(qiáng)?1. 優(yōu)雅降級(jí):Web站點(diǎn)在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會(huì)檢查以確認(rèn)它們是否能正常工作。由于IE獨(dú)特的盒模型

44、布局問(wèn)題,針對(duì)不同版本的IE的hack實(shí)踐過(guò)優(yōu)雅降級(jí)了,為那些無(wú)法支持功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級(jí)體驗(yàn)卻不至于完全失效。2. 漸進(jìn)增強(qiáng):從被所有瀏覽器支持的基本功能開(kāi)始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁(yè)面增加無(wú)害于基礎(chǔ)瀏覽器的額外樣式和功能的。當(dāng)瀏覽器支持時(shí),它們會(huì)自動(dòng)地呈現(xiàn)出來(lái)并發(fā)揮作用。42、對(duì)Node的優(yōu)點(diǎn)和缺點(diǎn)提出了自己的看法??jī)?yōu)點(diǎn):1. 因?yàn)镹ode是基于事件驅(qū)動(dòng)和無(wú)阻塞的,所以非常適合處理并發(fā)請(qǐng)求,因此構(gòu)建在Node上的代理服務(wù)器相比其他技術(shù)實(shí)現(xiàn)(如Ruby)的服務(wù)器表現(xiàn)要好得多。2. 與Node代理服務(wù)器交互的客戶端代碼是由javasc

45、ript語(yǔ)言編寫的,因此客戶端和服務(wù)器端都用同一種語(yǔ)言編寫,這是非常美妙的事情。缺點(diǎn):1. Node是一個(gè)相對(duì)新的開(kāi)源項(xiàng)目,所以不太穩(wěn)定,它總是一直在變。2. 缺少足夠多的第三方庫(kù)支持。看起來(lái),就像是Ruby/Rails當(dāng)年的樣子(第三方庫(kù)現(xiàn)在已經(jīng)很豐富了,所以這個(gè)缺點(diǎn)可以說(shuō)不存在了)。43、對(duì)前端界面工程師這個(gè)職位是怎么樣理解的?它的前景會(huì)怎么樣?參考答案前端是最貼近用戶的程序員,比后端、數(shù)據(jù)庫(kù)、產(chǎn)品經(jīng)理、運(yùn)營(yíng)、安全都近。1. 實(shí)現(xiàn)界面交互2. 提升用戶體驗(yàn)3. 有了Node.js,前端可以實(shí)現(xiàn)服務(wù)端的一些事情前景:1. 前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進(jìn)化到 10

46、0 分,甚至更好2. 參與項(xiàng)目,快速高質(zhì)量完成實(shí)現(xiàn)效果圖,精確到1px;3. 與團(tuán)隊(duì)成員,UI設(shè)計(jì),產(chǎn)品經(jīng)理的溝通;4. 做好的頁(yè)面結(jié)構(gòu),頁(yè)面重構(gòu)和用戶體驗(yàn);5. 處理hack,兼容、寫出優(yōu)美的代碼格式;6. 針對(duì)服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。44、你有哪些性能優(yōu)化的方法?1. 減少http請(qǐng)求次數(shù):CSS Sprites, JS、CSS 源碼壓縮、圖片大小控制合適;網(wǎng)頁(yè) Gzip,CDN 托管,data 緩存 ,圖片服務(wù)器2. 前端模板 JS + 數(shù)據(jù),減少由于HTML標(biāo)簽導(dǎo)致的帶寬浪費(fèi),前端用變量保存 AJAX 請(qǐng)求結(jié)果,每次操作本地變量,不用請(qǐng)求,減少請(qǐng)求次數(shù)3. 用 innerHTM

47、L 代替 DOM 操作,減少 DOM 操作次數(shù),優(yōu)化 javascript 性能4. 當(dāng)需要設(shè)置的樣式很多時(shí)設(shè)置 className 而不是直接操作 style5. 少用全局變量、緩存DOM節(jié)點(diǎn)查找的結(jié)果。減少 IO 讀取操作6. 避免使用 CSS Expression(css表達(dá)式)又稱 Dynamic properties(動(dòng)態(tài)屬性)7. 圖片預(yù)加載,將樣式表放在頂部,將腳本放在底部,加上時(shí)間戳45、http狀態(tài)碼有那些?分別代表是什么意思?1. 100-199 用于指定客戶端應(yīng)相應(yīng)的某些動(dòng)作2. 200-299 用于表示請(qǐng)求成功3. 300-399 用于已經(jīng)移動(dòng)的文件并且常被包含在定位頭

48、信息中指定新的地址信息4. 400-499 用于指出客戶端的錯(cuò)誤    400:語(yǔ)義有誤,當(dāng)前請(qǐng)求無(wú)法被服務(wù)器理解    401:當(dāng)前請(qǐng)求需要用戶驗(yàn)證 403:服務(wù)器已經(jīng)理解請(qǐng)求,但是拒絕執(zhí)行它 404:表示請(qǐng)求失敗,請(qǐng)求所希望得到的資源未被在服務(wù)器上發(fā)現(xiàn)5. 500-599 用于支持服務(wù)器錯(cuò)誤 503:服務(wù)不可用46、一個(gè)頁(yè)面從輸入 URL 到頁(yè)面加載顯示完成,這個(gè)過(guò)程中都發(fā)生了什么?分為4個(gè)步驟:1. 當(dāng)發(fā)送一個(gè) URL 請(qǐng)求時(shí),不管這個(gè) URL 是 Web 頁(yè)面的 URL 還是 Web 頁(yè)面上每個(gè)資源的 URL,瀏覽器都會(huì)開(kāi)啟一個(gè)線程來(lái)處理這個(gè)請(qǐng)求

49、,同時(shí)在遠(yuǎn)程 DNS 服務(wù)器上啟動(dòng)一個(gè) DNS 查詢。這能使瀏覽器獲得請(qǐng)求對(duì)應(yīng)的 IP 地址。2. 瀏覽器與遠(yuǎn)程 Web 服務(wù)器通過(guò) TCP 三次握手協(xié)商來(lái)建立一個(gè) TCP/IP 連接。該握手包括一個(gè)同步報(bào)文,一個(gè)同步-應(yīng)答報(bào)文和一個(gè)應(yīng)答報(bào)文,這三個(gè)報(bào)文在 瀏覽器和服務(wù)器之間傳遞。該握手首先由客戶端嘗試建立起通信,而后服務(wù)器應(yīng)答并接受客戶端的請(qǐng)求,最后由客戶端發(fā)出該請(qǐng)求已經(jīng)被接受的報(bào)文。3. 一旦 TCP/IP 連接建立,瀏覽器會(huì)通過(guò)該連接向遠(yuǎn)程服務(wù)器發(fā)送 HTTP 的 GET 請(qǐng)求。遠(yuǎn)程服務(wù)器找到資源并使用 HTTP 響應(yīng)返回該資源,值為 200 的 HTTP 響應(yīng)狀態(tài)表示一個(gè)正確的響應(yīng)。4

50、. 此時(shí),Web 服務(wù)器提供資源服務(wù),客戶端開(kāi)始下載資源。請(qǐng)求返回后,便進(jìn)入了我們關(guān)注的前端模塊簡(jiǎn)單來(lái)說(shuō),瀏覽器會(huì)解析 HTML 生成 DOM Tree,其次會(huì)根據(jù) CSS 生成 CSS Rule Tree,而 javascript 又可以根據(jù) DOM API 操作 DOM47、平時(shí)如何管理你的項(xiàng)目?參考答案1. 先期團(tuán)隊(duì)必須確定好全局樣式(globe.css),編碼模式(utf-8) 等2. 編寫習(xí)慣必須一致(例如都是采用繼承式的寫法,單樣式都寫成一行)3. 標(biāo)注樣式編寫人,各模塊都及時(shí)標(biāo)注(標(biāo)注關(guān)鍵樣式調(diào)用的地方)4. 頁(yè)面進(jìn)行標(biāo)注(例如 頁(yè)面 模塊 開(kāi)始和結(jié)束)5. CSS 跟 HTML

51、 分文件夾并行存放,命名都得統(tǒng)一(例如 style.css)6. JS 分文件夾存放 命名以該 JS 功能為準(zhǔn)的英文翻譯7. 圖片采用整合的 images.png png8 格式文件使用 盡量整合在一起使用方便將來(lái)的管理 48、說(shuō)說(shuō)最近最流行的一些東西吧?常去的哪些網(wǎng)站?最流行的一些東西:1. Node.js2. Mongodb3. npm4. MVVM5. MEAN6. three.js7. React常去的網(wǎng)站:1. ??途W(wǎng)2. Github3. CSDN49、javascript對(duì)象的幾種創(chuàng)建方式1. 工廠模式2. 構(gòu)造函數(shù)模式3. 原型模式4. 混合構(gòu)造函數(shù)和原型模式5. 動(dòng)

52、態(tài)原型模式6. 寄生構(gòu)造函數(shù)模式7. 穩(wěn)妥構(gòu)造函數(shù)模式50、javascript繼承的 6 種方法1. 原型鏈繼承2. 借用構(gòu)造函數(shù)繼承3. 組合繼承(原型+借用構(gòu)造)4. 原型式繼承5. 寄生式繼承6. 寄生組合式繼承51、ajax 的過(guò)程是怎樣的1. 創(chuàng)建XMLHttpRequest對(duì)象,也就是創(chuàng)建一個(gè)異步調(diào)用對(duì)象2. 創(chuàng)建一個(gè)新的HTTP請(qǐng)求,并指定該HTTP請(qǐng)求的方法、URL及驗(yàn)證信息3. 設(shè)置響應(yīng)HTTP請(qǐng)求狀態(tài)變化的函數(shù)4. 發(fā)送HTTP請(qǐng)求5. 獲取異步調(diào)用返回的數(shù)據(jù)6. 使用JavaScript和DOM實(shí)現(xiàn)局部刷新52、異步加載和延遲加載1. 異步加載的方案: 動(dòng)態(tài)插入 scr

53、ipt 標(biāo)簽2. 通過(guò) ajax 去獲取 js 代碼,然后通過(guò) eval 執(zhí)行3. script 標(biāo)簽上添加 defer 或者 async 屬性4. 創(chuàng)建并插入 iframe,讓它異步執(zhí)行 js5. 延遲加載:有些 js 代碼并不是頁(yè)面初始化的時(shí)候就立刻需要的,而稍后的某些情況才需要的53、前端的安全問(wèn)題?1. XSS2. sql注入3. CSRF:是跨站請(qǐng)求偽造,很明顯根據(jù)剛剛的解釋,他的核心也就是請(qǐng)求偽造,通過(guò)偽造身份提交POST和GET請(qǐng)求來(lái)進(jìn)行跨域的攻擊完成CSRF需要兩個(gè)步驟:1. 登陸受信任的網(wǎng)站A,在本地生成 COOKIE2. 在不登出A的情況下,或者本地 COOKIE 沒(méi)有過(guò)期

54、的情況下,訪問(wèn)危險(xiǎn)網(wǎng)站B。54、ie 各版本和 chrome 可以并行下載多少個(gè)資源1. IE6 2 個(gè)并發(fā)2. iE7 升級(jí)之后的 6 個(gè)并發(fā),之后版本也是 6 個(gè)3. Firefox,chrome 也是6個(gè)55、javascript里面的繼承怎么實(shí)現(xiàn),如何避免原型鏈上面的對(duì)象共享用構(gòu)造函數(shù)和原型鏈的混合模式去實(shí)現(xiàn)繼承,避免對(duì)象共享可以參考經(jīng)典的extend()函數(shù),很多前端框架都有封裝的,就是用一個(gè)空函數(shù)當(dāng)做中間變量56、grunt, YUI compressor 和 google clojure用來(lái)進(jìn)行代碼壓縮的用法。grunt:UglifyJS 是基于 NodeJS 的 Javascr

55、ipt 語(yǔ)法解析/壓縮/格式化工具官網(wǎng): 或者 安裝:$ npm install uglify-js -g使用方法見(jiàn)官網(wǎng) demoYUI compressor:YUI Compressor 是一個(gè)用來(lái)壓縮 JS 和 CSS 文件的工具,采用Java開(kāi)發(fā)。使用方法:/ 壓縮JSjava -jar yuicompressor-2.4.2.jar -type js -charset utf-8 -v src.js > packed.js/ 壓縮CSSjava -jar yuicompressor-2.4.2.jar -type css -charset utf-8 -v src.css >

56、; packed.cssGoogle Closure Compiler:官網(wǎng):使用方法:1. 在命令行下使用一個(gè)google編譯好的java程序2. 使用google提供的在線服務(wù)3. 使用google提供的RESTful API57、Flash、Ajax各自的優(yōu)缺點(diǎn),在使用中如何取舍?Flash:1. Flash適合處理多媒體、矢量圖形、訪問(wèn)機(jī)器2. 對(duì)CSS、處理文本上不足,不容易被搜索Ajax:1. Ajax對(duì)CSS、文本支持很好,支持搜索2. 多媒體、矢量圖形、機(jī)器訪問(wèn)不足共同點(diǎn):1. 與服務(wù)器的無(wú)刷新傳遞消息2. 可以檢測(cè)用戶離線和在線狀態(tài)2. 操作DOM58、請(qǐng)解釋一下 JavaS

57、cript 的同源策略。概念:同源策略是客戶端腳本(尤其是Javascript)的重要的安全度量標(biāo)準(zhǔn)。它最早出自Netscape Navigator2.0,其目的是防止某個(gè)文檔或腳本從多個(gè)不同源裝載。這里的同源策略指的是:協(xié)議,域名,端口相同,同源策略是一種安全協(xié)議,指一段腳本只能讀取來(lái)自同一來(lái)源的窗口和文檔的屬性。59、為什么要有同源限制:我們舉例說(shuō)明:比如一個(gè)黑客程序,他利用Iframe把真正的銀行登錄頁(yè)面嵌到他的頁(yè)面上,當(dāng)你使用真實(shí)的用戶名,密碼登錄時(shí),他的頁(yè)面就可以通過(guò)Javascript讀取到你的表單中input中的內(nèi)容,這樣用戶名,密碼就輕松到手了60、什么是 "use

58、strict" ? 使用它的好處和壞處分別是什么?ECMAscript 5添加了第二種運(yùn)行模式:"嚴(yán)格模式"(strict mode)。顧名思義,這種模式使得Javascript在更嚴(yán)格的條件下運(yùn)行。設(shè)立"嚴(yán)格模式"的目的,主要有以下幾個(gè):1. 消除Javascript語(yǔ)法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;2. 消除代碼運(yùn)行的一些不安全之處,保證代碼運(yùn)行的安全;3. 提高編譯器效率,增加運(yùn)行速度;4. 為未來(lái)新版本的Javascript做好鋪墊。注:經(jīng)過(guò)測(cè)試 IE6,7,8,9 均不支持嚴(yán)格模式。缺點(diǎn):現(xiàn)在網(wǎng)站的 JS 都會(huì)進(jìn)行壓縮,一些文件用了嚴(yán)格模式,而另一些沒(méi)有。這時(shí)這些本來(lái)是嚴(yán)格模式的文件,被 merge 后,這個(gè)串就到了文件的中間,不僅沒(méi)有指示嚴(yán)格模式,反而在壓縮后浪費(fèi)了字節(jié)。61、GET和POST的區(qū)別,何時(shí)使用POST?GET:一般用于信息獲取,使用URL傳遞參數(shù),對(duì)所發(fā)送信息的數(shù)量也有限制,一般在2000個(gè)字符(參數(shù)在url中,不安全,數(shù)據(jù)量小,ASCII碼)POST:一般用于修改服務(wù)器上的資源,對(duì)所發(fā)送的信息沒(méi)有限制(參數(shù)在數(shù)據(jù)體中,安全,數(shù)據(jù)量大即上傳只能用POST,支持整個(gè)字符集)GET方式需要使用 Request.QueryString 來(lái)取得變量

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論