整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          CSS 清除瀏覽器默認(rèn)樣式

          CSS 清除瀏覽器默認(rèn)樣式

          些元素默認(rèn)帶有padding, 比如ul標(biāo)簽。

          *{margin:0;padding:0;}

          讓所有的標(biāo)簽內(nèi)外邊距是都 0 ;


          *的執(zhí)行效率不高, 所以我們使用并集選擇器, 羅列出所有的標(biāo)簽(不用背, 有專業(yè)的清除默認(rèn)樣式的樣式表, 以利于今后學(xué)習(xí))

          當(dāng)然, 以上的寫法是我們練習(xí)的寫法。


          真正的工作我們?nèi)缦聦懛?

          html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:0; padding:0; }


          最常用

          、Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?

          (1) 聲明位于文檔中的最前面,處于 標(biāo)簽之前。告知瀏覽器的解析器,用什么文檔類型 規(guī)范來解析這個(gè)文檔。

          (2)嚴(yán)格模式的排版和 JS 運(yùn)作模式是 以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。

          (3)在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點(diǎn)無法工作。

          (4)DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。

          2、行內(nèi)元素有哪些?塊級(jí)元素有哪些?

          (1)CSS規(guī)范規(guī)定,每個(gè)元素都有display屬性,確定該元素的類型,每個(gè)元素都有默認(rèn)的display值, 比如div默認(rèn)display屬性值為“block”,成為“塊級(jí)”元素; span默認(rèn)display屬性值為“inline”,是“行內(nèi)”元素。

          (2)行內(nèi)元素有:a b span img input select strong(強(qiáng)調(diào)的語氣) 塊級(jí)元素有:div ul ol li dl dt dd h1 h2 h3 h4…p

          3、link 和@import 的區(qū)別是?

          (1)link屬于XHTML標(biāo)簽,而@import是CSS提供的;

          (2)頁面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁面被加載完再加載;

          (3)import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無兼容問題;

          (4)link方式的樣式的權(quán)重 高于@import的權(quán)重.

          4、瀏覽器的內(nèi)核分別是什么?

          IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;

          5、HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?如何區(qū)分 HTML 和 HTML5?

          HTML5 現(xiàn)在已經(jīng)不是 SGML 的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。

          繪畫 canvas 用于媒介回放的 video 和 audio 元素 本地離線存儲(chǔ) localStorage 長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失; sessionStorage 的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除 語意化更好的內(nèi)容元素,比如 article、footer、header、nav、section 表單控件,calendar、date、time、email、url、search 新的技術(shù)webworker, websockt, Geolocation

          6、對(duì)語義化如何理解?

          用正確的標(biāo)簽做正確的事情!

          HTML語義化就是讓頁面的內(nèi)容結(jié)構(gòu)化,便于對(duì)瀏覽器、搜索引擎解析;在沒有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標(biāo)記來確定上下文和各個(gè)關(guān)鍵字的權(quán)重,利于 SEO。使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護(hù)理解。

          7、HTML5的離線儲(chǔ)存有幾種方式?

          localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage 數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除。

          8、iframe有那些缺點(diǎn)?

          iframe會(huì)阻塞主頁面的Onload事件;

          iframe和主頁面共享連接池,而瀏覽器對(duì)相同域的連接有限制,所以會(huì)影響頁面的并行加載。使用iframe之前需要考慮這兩個(gè)缺點(diǎn)。如果需要使用iframe,最好是通過javascript動(dòng)態(tài)給iframe添加src屬性值,這樣可以可以繞開以上兩個(gè)問題。

          9、請(qǐng)描述一下 cookies,sessionStorage 和 localStorage 的區(qū)別?

          cookie在瀏覽器和服務(wù)器間來回傳遞。 sessionStorage和localStorage不會(huì),sessionStorage和localStorage的存儲(chǔ)空間更大;sessionStorage和localStorage有更多豐富易用的接口;sessionStorage和localStorage各自獨(dú)立的存儲(chǔ)空間;

          10、CSS 選擇符有哪些?哪些屬性可以繼承??jī)?yōu)先級(jí)算法如何計(jì)算? CSS3新增偽類有那些?

          1.id選擇器( # myid)     2.類選擇器(.myclassname)

          3.標(biāo)簽選擇器(div, h1, p)    4.相鄰選擇器(h1 + p)

          5.子選擇器(ul < li)      6.后代選擇器(li a)

          7.通配符選擇器( * )     8.屬性選擇器(a[rel="external"])

          可繼承的樣式: font-size font-family color, UL LI DL DD DT;

          不可繼承的樣式:border padding margin width height ;

          優(yōu)先級(jí)就近原則,同權(quán)重情況下樣式定義最近者為準(zhǔn);

          載入樣式以最后載入的定位為準(zhǔn);

          優(yōu)先級(jí)為:

          !important > id > class > tag important 比 內(nèi)聯(lián)優(yōu)先級(jí)高

          11、CSS3新增偽類舉例:

          p:first-of-type 選擇屬于其父元素的首個(gè)元素的每個(gè)元素。

          p:last-of-type 選擇屬于其父元素的最后元素的每個(gè)元素。

          p:only-of-type 選擇屬于其父元素唯一的元素的每個(gè)元素。

          p:only-child 選擇屬于其父元素的唯一子元素的每個(gè)元素。

          p:nth-child(2) 選擇屬于其父元素的第二個(gè)子元素的每個(gè)元素。

          :enabled :disabled 控制表單控件的禁用態(tài)。

          :checked單選框或復(fù)選框被選中。

          12、如何居中div?如何居中一個(gè)浮動(dòng)元素?

          給div設(shè)置一個(gè)寬度,然后添加margin:0 auto屬性

          div{ width:200px; margin:0 auto; }
          居中一個(gè)浮動(dòng)元素

          確定容器的寬高 寬500 高 300 底層 設(shè)置層的外邊距 .div { Width:500px ; height:300px;//高度可以不設(shè) Margin: -150px 0 0 -250px; position:relative;相對(duì)定位 background-color:pink;//方便看效果 left:50%; top:50%;}

          列出display的值,說明他們的作用。position的值, relative和absolute定位原點(diǎn)是?

            1.block 象塊類型元素一樣顯示。 none 缺省值。象行內(nèi)元素類型一樣顯示。 inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。 list-item 象塊類型元素一樣顯示,并添加樣式列表標(biāo)記。

            2. absolute 生成絕對(duì)定位的元素,相對(duì)于 static 定位以外的第一個(gè)父元素進(jìn)行定位。

            fixed (老IE不支持) 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。

            relative  生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。

            static 默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中 *(忽略 top, bottom, left, right z-index 聲明)。

            inherit 規(guī)定從父元素繼承 position 屬性的值。

          13、為什么要初始化CSS樣式?

            因?yàn)闉g覽器的兼容問題,不同瀏覽器對(duì)有些標(biāo)簽的默認(rèn)值是不同的,如果沒對(duì)CSS初始化往往會(huì)出現(xiàn)瀏覽器之間的頁面顯示差異。當(dāng)然,初始化樣式會(huì)對(duì)SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。最簡(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.5tahoma, arial, /5b8b/4f53; }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-align: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; }

          14、css定義的權(quán)重

          以下是權(quán)重的規(guī)則:標(biāo)簽的權(quán)重為1,class的權(quán)重為10,id的權(quán)重為100,以下例子是演示各種定義的權(quán)重值:/*權(quán)重為1*/div{}/*權(quán)重為10*/.class1{}/*權(quán)重為100*/#id1{}/*權(quán)重為100+1=101*/#id1 div{}/*權(quán)重為10+1=11*/.class1 div{}/*權(quán)重為10+10+1=21*/.class1 .class2 div{} 如果權(quán)重相同,則最后定義的樣式會(huì)起作用,但是應(yīng)該避免這種情況出現(xiàn)

          15、CSS3有哪些新特性?

          CSS3實(shí)現(xiàn)圓角(border-radius:8px),陰影(box-shadow:10px), 對(duì)文字加特效(text-shadow、),線性漸變(gradient),旋轉(zhuǎn)(transform) transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉(zhuǎn),縮放,定位,傾斜 增加了更多的CSS選擇器 多背景 rgba

          16、介紹一下CSS的盒子模型?

          (1)有兩種, IE 盒子模型、標(biāo)準(zhǔn) W3C 盒子模型;IE的content部分包含了 border 和 pading;

          (2)盒模型: 內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border).

          17.對(duì)WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)?

          標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁面速度更快、內(nèi)容能被更多的用戶所訪問、內(nèi)容能被更廣泛的設(shè)備所訪問、更少的代碼和組件,容易維護(hù)、改版方便,不需要變動(dòng)頁面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性;

          18.XHTML和HTML有什么區(qū)別?

          HTML是一種基本的WEB網(wǎng)頁設(shè)計(jì)語言,XHTML是一個(gè)基于XML的置標(biāo)語言最主要的不同:

          XHTML 元素必須被正確地嵌套。

          XHTML 元素必須被關(guān)閉。標(biāo)簽名必須用小寫字母。

          XHTML 文檔必須擁有根元素。

          19.Doctype? 嚴(yán)格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義?

          用于聲明文檔使用那種規(guī)范(HTML/XHTML)一般為 嚴(yán)格 過度 基于框架的html文檔

          加入XMl聲明可觸發(fā),解析方式更改為IE5.5 擁有IE5.5的bug

          20.行內(nèi)元素有哪些?塊級(jí)元素有哪些?CSS的盒模型?

          塊級(jí)元素:div p h1 h2 h3 h4 form ul

          行內(nèi)元素: a b br i span input select

          Css盒模型:內(nèi)容,border ,margin,padding

          21.CSS引入的方式有哪些? link和@import的區(qū)別是?

          內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入

          區(qū)別 :同時(shí)加載前者無兼容性,后者CSS2.1以下瀏覽器不支持

          Link 支持使用javascript改變樣式,后者不可

          22.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算?內(nèi)聯(lián)和important哪個(gè)優(yōu)先級(jí)高?

          標(biāo)簽選擇符 類選擇符 id選擇符

          繼承不如指定 Id>class>標(biāo)簽選擇

          后者優(yōu)先級(jí)高

          23.前端頁面有哪三層構(gòu)成,分別是什么?作用是什么?

          結(jié)構(gòu)層 HTML 表示層 CSS 行為層 js

          24.CSS的基本語句構(gòu)成是?

          選擇器{屬性1:值1;屬性2:值2;……}

          25.你做的頁面在哪些瀏覽器測(cè)試過?這些瀏覽器的內(nèi)核分別是什么?

          Ie(Ie內(nèi)核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

          26.寫出幾種IE6 BUG的解決方法

          1. 雙邊距BUG float引起的 使用display
          2. 3像素問題 使用float引起的 使用dislpay:inline -3px
          3. 超鏈接hover 點(diǎn)擊后失效 使用正確的書寫順序 link visited hover active
          4. Ie z-index問題 給父級(jí)添加position:relative
          5. Png 透明 使用js代碼 改
          6. Min-height 最小高度 !Important 解決’
          7. select 在ie6下遮蓋 使用iframe嵌套
          8. 為什么沒有辦法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
          9. ie 6 不支持!important

          27.img標(biāo)簽上title與alt屬性的區(qū)別是什么?

          Alt 當(dāng)圖片不顯示是 用文字代表。

          Title 為該屬性提供信息

          28.描述css reset的作用和用途。

          Reset重置瀏覽器的css默認(rèn)屬性 瀏覽器的品種不同,樣式不同,然后重置,讓他們統(tǒng)一

          29.解釋css sprites,如何使用。

          Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕服務(wù)器對(duì)圖片的請(qǐng)求數(shù)量

          30.瀏覽器標(biāo)準(zhǔn)模式和怪異模式之間的區(qū)別是什么?

          盒子模型 渲染模式的不同

          使用 window.top.document.compatMode 可顯示為什么模式

          31.你如何對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:

          文件合并

          文件最小化/文件壓縮

          使用CDN托管

          緩存的使用

          32.什么是語義化的HTML?

          直觀的認(rèn)識(shí)標(biāo)簽 對(duì)于搜索引擎的抓取有好處

          33.清除浮動(dòng)的幾種方式,各自的優(yōu)缺點(diǎn)

          1.使用空標(biāo)簽清除浮動(dòng) clear:both(理論上能清除任何標(biāo)簽,增加無意義的標(biāo)簽)
          2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無意代碼的弊端,,使用zoom:1用于兼容IE)
          3.使用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)

          34.javascript的typeof返回哪些數(shù)據(jù)類型

          Object number function boolean underfind
          35.例舉3種強(qiáng)制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?

          強(qiáng)制(parseInt,parseFloat,number)

          隱式(==–===)
          36.split() join() 的區(qū)別

          前者是切割成數(shù)組的形式,后者是將數(shù)組轉(zhuǎn)換成字符串
          37.數(shù)組方法pop() push() unshift() shift()

          Push()尾部添加 pop()尾部刪除

          Unshift()頭部添加 shift()頭部刪除

          39.IE和DOM事件流的區(qū)別

          1.執(zhí)行順序不一樣、

          2.參數(shù)不一樣

          3.事件加不加on

          4.this指向問題

          40.IE和標(biāo)準(zhǔn)下有哪些兼容性的寫法

          Var target=ev.srcElement||ev.target
          41.ajax請(qǐng)求的時(shí)候get 和post方式的區(qū)別

          一個(gè)在url后面 一個(gè)放在虛擬載體里面

          有大小限制

          安全問題

          應(yīng)用不同 一個(gè)是論壇等只需要請(qǐng)求的,一個(gè)是類似修改密碼的
          42.call和apply的區(qū)別

          Object.call(this,obj1,obj2,obj3)
          Object.apply(this,arguments)
          43.ajax請(qǐng)求時(shí),如何解釋json數(shù)據(jù)

          使用eval parse 鑒于安全性考慮 使用parse更靠譜
          44.閉包是什么,有什么特性,對(duì)頁面有什么影響

          閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。
          46.添加 刪除 替換 插入到某個(gè)節(jié)點(diǎn)的方法

          obj.appendChidl()
          obj.innersetBefore
          obj.replaceChild
          obj.removeChild
          47.解釋jsonp的原理,以及為什么不是真正的ajax

          動(dòng)態(tài)創(chuàng)建script標(biāo)簽,回調(diào)函數(shù)

          Ajax是頁面無刷新請(qǐng)求數(shù)據(jù)操作

          48.javascript的本地對(duì)象,內(nèi)置對(duì)象和宿主對(duì)象

          本地對(duì)象為array obj regexp等可以new實(shí)例化

          內(nèi)置對(duì)象為gload Math 等不可以實(shí)例化的

          宿主為瀏覽器自帶的document,window 等
          50.”==”和“===”的不同

          前者會(huì)自動(dòng)轉(zhuǎn)換類型

          后者不會(huì)
          51.javascript的同源策略

          一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機(jī)名、協(xié)議和端口號(hào)的組合

          54.CSS定位方式有哪些?position屬性的值有哪些?他們之間的區(qū)別是什么?
          在CSS中關(guān)于定位的內(nèi)容是:position:relative | absolute | static | fixed
          static 沒有特別的設(shè)定,遵循基本的定位規(guī)定,不能通過z-index進(jìn)行層次分級(jí)。

          relative 不脫離文檔流,參考自身靜態(tài)位置通過 top,bottom,left,right 定位,并且可以通過z-index進(jìn)行層次分級(jí)。

          absolute 脫離文檔流,通過 top,bottom,left,right 定位。選其最近的父級(jí)定位元素,當(dāng)父級(jí) position 為 static 時(shí),absolute元素將以body坐標(biāo)原點(diǎn)進(jìn)行定位,可以通過z-index進(jìn)行層次分級(jí)。

          fixed 固定定位,這里他所固定的對(duì)象是可視窗口而并非是body或是父級(jí)元素。可通過z-index進(jìn)行層次分級(jí)。
          55.函數(shù)的幾種定義方法?

          function a(){},
          var a=function(){}
          56.對(duì)象的定義方法?

          a=new Object(), a={}
          57.類的定義方法(prototype)(繼承)

          Var a=function(){}
          a.prototype={}
          new a();
          58.this 關(guān)鍵字的指向

          obj.foo()==obj //方法調(diào)用模式,this指向obj
          foo()==window; //函數(shù)調(diào)用模式,this指向window
          new obj.foo()==obj //構(gòu)造器調(diào)用模式, this指向新建立對(duì)象

          foo.call(obj)==obj;//APPLY調(diào)用模式,this指向obj
          59.異步ajax的優(yōu)缺點(diǎn)都有什么?

          優(yōu)點(diǎn):

          相對(duì)于同步ajax:不會(huì)造成UI卡死,用戶體驗(yàn)好。

          相對(duì)于刷新頁面,省流量

          缺點(diǎn):

          后退按鈕無效;

          多個(gè)請(qǐng)求同時(shí)觸發(fā)時(shí),由于回調(diào)時(shí)間不確定,會(huì)造成混亂,避免這種混亂需要復(fù)雜的判斷機(jī)制。

          搜索引擎不友好

          數(shù)據(jù)安全
          60、介紹js的基本數(shù)據(jù)類型。

          number,string,boolean,object,undefined  

          61、Javascript如何實(shí)現(xiàn)繼承?

          通過原型和構(gòu)造器

          62、如何創(chuàng)建一個(gè)對(duì)象? (畫出此對(duì)象的內(nèi)存圖)

          function Person(name, age) { this.name=name; this.age=age; this.sing=function() { alert(this.name) } }

          63、談?wù)凾his對(duì)象的理解。

          this是js的一個(gè)關(guān)鍵字,隨著函數(shù)使用場(chǎng)合不同,this的值會(huì)發(fā)生變化。但是有一個(gè)總原則,那就是this指的是調(diào)用函數(shù)的那個(gè)對(duì)象。this一般情況下:是全局對(duì)象Global。 作為方法調(diào)用,那么this就是指這個(gè)對(duì)象

          64、事件是什么?IE與火狐的事件機(jī)制有什么區(qū)別? 如何阻止冒泡?

          (1) 我們?cè)诰W(wǎng)頁中的某個(gè)操作(有的操作對(duì)應(yīng)多個(gè)事件)。例如:當(dāng)我們點(diǎn)擊一個(gè)按鈕就會(huì)產(chǎn)生一個(gè)事件。是可以被 JavaScript 偵測(cè)到的行為。

          (2) 事件處理機(jī)制:IE是事件冒泡、火狐是 事件捕獲;

          (3) ev.stopPropagation();

          65、如何判斷一個(gè)對(duì)象是否屬于某個(gè)類?

          使用instanceof (待完善) if(a instanceof Person){ alert('yes'); }

          66、Javascript中,有一個(gè)函數(shù),執(zhí)行時(shí)對(duì)象查找時(shí),永遠(yuǎn)不會(huì)去查找原型,這個(gè)函數(shù)是?

          hasOwnProperty

          67、對(duì)JSON 的了解?

            JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它是基于JavaScript的一個(gè)子集。數(shù)據(jù)格式簡(jiǎn)單, 易于讀寫, 占用帶寬小{'age':'12', 'name':'back'}

          68、簡(jiǎn)述一下src與href的區(qū)別

          href 是指向網(wǎng)絡(luò)資源所在位置,建立和當(dāng)前元素(錨點(diǎn))或當(dāng)前文檔(鏈接)之間的鏈接,用于超鏈接。

          src是指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置;在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到文檔內(nèi),例如js腳本,img圖片和frame等元素。當(dāng)瀏覽器解析到該元素時(shí),會(huì)暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等元素也如此,類似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)。這也是為什么將js腳本放在底部而不是頭部。

          69、簡(jiǎn)述同步和異步的區(qū)別

          同步是阻塞模式,異步是非阻塞模式。

          同步就是指一個(gè)進(jìn)程在執(zhí)行某個(gè)請(qǐng)求的時(shí)候,若該請(qǐng)求需要一段時(shí)間才能返回信息,那么這個(gè)進(jìn)程將會(huì)一直等待下去,直到收到返回信息才繼續(xù)執(zhí)行下去;

          異步是指進(jìn)程不需要一直等下去,而是繼續(xù)執(zhí)行下面的操作,不管其他進(jìn)程的狀態(tài)。當(dāng)有消息返回時(shí)系統(tǒng)會(huì)通知進(jìn)程進(jìn)行處理,這樣可以提高執(zhí)行的效率。

          70、px和em的區(qū)別

          px和em都是長(zhǎng)度單位,區(qū)別是,px的值是固定的,指定是多少就是多少,計(jì)算比較容易。em的值不是固定的,并且em會(huì)繼承父級(jí)元素的字體大小。

          瀏覽器的默認(rèn)字體高都是16px。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em

          71、什么叫優(yōu)雅降級(jí)和漸進(jìn)增強(qiáng)?

          漸進(jìn)增強(qiáng) progressive enhancement:

          針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁面,保證最基本的功能,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)。

          優(yōu)雅降級(jí) graceful degradation:

          一開始就構(gòu)建完整的功能,然后再針對(duì)低版本瀏覽器進(jìn)行兼容。

          區(qū)別:

          a. 優(yōu)雅降級(jí)是從復(fù)雜的現(xiàn)狀開始,并試圖減少用戶體驗(yàn)的供給

          b. 漸進(jìn)增強(qiáng)則是從一個(gè)非常基礎(chǔ)的,能夠起作用的版本開始,并不斷擴(kuò)充,以適應(yīng)未來環(huán)境的需要

          c. 降級(jí)(功能衰減)意味著往回看;而漸進(jìn)增強(qiáng)則意味著朝前看,同時(shí)保證其根基處于安全地帶

          72、瀏覽器的內(nèi)核分別是什么?

          IE: trident內(nèi)核

          Firefox:gecko內(nèi)核

          Safari:webkit內(nèi)核

          Opera:以前是presto內(nèi)核,Opera現(xiàn)已改用Google Chrome的Blink內(nèi)核

          Chrome:Blink(基于webkit,Google與Opera Software共同開發(fā))

          73、如何消除一個(gè)數(shù)組里面重復(fù)的元素?

          var arr1=[1,2,2,2,3,3,3,4,5,6],
          arr2=[];
          for(var i=0,len=arr1.length; i< len; i++){
          if(arr2.indexOf(arr1[i]) < 0){
          arr2.push(arr1[i]);
          }
          }
          document.write(arr2); // 1,2,3,4,5,6

          74、在Javascript中什么是偽數(shù)組?如何將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組?

          偽數(shù)組(類數(shù)組):無法直接調(diào)用數(shù)組方法或期望length屬性有什么特殊的行為,但仍可以對(duì)真正數(shù)組遍歷方法來遍歷它們。典型的是函數(shù)的argument參數(shù),還有像調(diào)用getElementsByTagName,document.childNodes之類的,它們都返回NodeList對(duì)象都屬于偽數(shù)組。可以使用Array.prototype.slice.call(fakeArray)將數(shù)組轉(zhuǎn)化為真正的Array對(duì)象。

          function log(){

          var args=Array.prototype.slice.call(arguments);

          //為了使用unshift數(shù)組方法,將argument轉(zhuǎn)化為真正的數(shù)組

          args.unshift('(app)');

          console.log.apply(console, args);

          };

          75、Javascript中callee和caller的作用?

          caller是返回一個(gè)對(duì)函數(shù)的引用,該函數(shù)調(diào)用了當(dāng)前函數(shù);

          callee是返回正在被執(zhí)行的function函數(shù),也就是所指定的function對(duì)象的正文。

          76、請(qǐng)描述一下cookies,sessionStorage和localStorage的區(qū)別

          sessionStorage用于本地存儲(chǔ)一個(gè)會(huì)話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個(gè)會(huì)話中的頁面才能訪問并且當(dāng)會(huì)話結(jié)束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲(chǔ),僅僅是會(huì)話級(jí)別的存儲(chǔ)。而localStorage用于持久化的本地存儲(chǔ),除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會(huì)過期的。

          web storage和cookie的區(qū)別

          Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲(chǔ)設(shè)計(jì)的。Cookie的大小是受限的,并且每次你請(qǐng)求一個(gè)新的頁面的時(shí)候Cookie都會(huì)被發(fā)送過去,這樣無形中浪費(fèi)了帶寬,另外cookie還需要指定作用域,不可以跨域調(diào)用。

          除此之外,Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發(fā)者自己封裝setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是與服務(wù)器進(jìn)行交互,作為HTTP規(guī)范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲(chǔ)”數(shù)據(jù)而生。

          77、手寫數(shù)組快速排序

          關(guān)于快排算法的詳細(xì)說明,可以參考阮一峰老師的文章快速排序

          “快速排序”的思想很簡(jiǎn)單,整個(gè)排序過程只需要三步:

          (1)在數(shù)據(jù)集之中,選擇一個(gè)元素作為”基準(zhǔn)”(pivot)。

          (2)所有小于”基準(zhǔn)”的元素,都移到”基準(zhǔn)”的左邊;所有大于”基準(zhǔn)”的元素,都移到”基準(zhǔn)”的右邊。

          (3)對(duì)”基準(zhǔn)”左邊和右邊的兩個(gè)子集,不斷重復(fù)第一步和第二步,直到所有子集只剩下一個(gè)元素為止。

          78、統(tǒng)計(jì)字符串”aaaabbbccccddfgh”中字母?jìng)€(gè)數(shù)或統(tǒng)計(jì)最多字母數(shù)。

          var str="aaaabbbccccddfgh";

          var obj={};

          for(var i=0;istr.length;i++){

          var v=str.charAt(i);

          if(obj[v] & obj[v].value==v){

          obj[v].count=++ obj[v].count;

          }else{

          obj[v]={};

          obj[v].count=1;

          obj[v].value=v;

          }

          }

          for(key in obj){

          document.write(obj[key].value +'='+obj[key].count+' '); // a=4 b=3 c=4 d=2 f=1 g=1 h=1

          }

          79、一次完整的HTTP事務(wù)是怎樣的一個(gè)過程?

          基本流程:

          a. 域名解析

          b. 發(fā)起TCP的3次握手

          c. 建立TCP連接后發(fā)起http請(qǐng)求

          d. 服務(wù)器端響應(yīng)http請(qǐng)求,瀏覽器得到html代碼

          e. 瀏覽器解析html代碼,并請(qǐng)求html代碼中的資源

          f. 瀏覽器對(duì)頁面進(jìn)行渲染呈現(xiàn)給用戶

          80、對(duì)前端工程師這個(gè)職位你是怎么樣理解的?

          a. 前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進(jìn)化到 100 分,甚至更好

          b. 參與項(xiàng)目,快速高質(zhì)量完成實(shí)現(xiàn)效果圖,精確到1px;

          c. 與團(tuán)隊(duì)成員,UI設(shè)計(jì),產(chǎn)品經(jīng)理的溝通;

          d. 做好的頁面結(jié)構(gòu),頁面重構(gòu)和用戶體驗(yàn);

          e. 處理hack,兼容、寫出優(yōu)美的代碼格式;

          f. 針對(duì)服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。

          網(wǎng)頁制作的過程中想通過編輯器添加一些特殊應(yīng)用,例如要添加視頻播放器代碼,添加后發(fā)現(xiàn)不能正常播放視頻,檢查代碼后發(fā)現(xiàn)視頻調(diào)用代碼被無情過濾了,部分被替換成空白、部分被替換成div,造成無法實(shí)現(xiàn)網(wǎng)站嵌套視頻播放的問題。網(wǎng)上方法不少,大多不能如愿,經(jīng)多次研究整理一套完整的解決方案。

            第一步:UEditor取消html源代碼切換時(shí)div/script/style等自動(dòng)過濾
            在Ueditor編輯器目錄找到ueditor的js文件:ueditor.all.js 注意return;加入的位置!

          ueditor.all.js
          搜索 UE.plugins['defaultfilter']
          UE.plugins['defaultfilter'] = function () {  
              return;   //在這里添加return,不執(zhí)行下面的格式化  
              var me = this;  
              me.setOpt({  
                  'allowDivTransToP':false,  
                  'disabledTableInTable':true  
              });  
              //默認(rèn)的過濾處理  
              //進(jìn)入編輯器的內(nèi)容處理  
          
          ueditor.all.min.js
          搜索UE.plugins.defaultfilter
          
          UE.plugins.defaultfilter=  
          function(){return;var d=this;d.setOpt({allowDivTransToP:!0,d

            第二步:確保配置文件中白名單列表中包含相關(guān)標(biāo)簽及對(duì)應(yīng)的屬性
            找到配置文件:ueditor.config.js 搜索關(guān)鍵詞:whitList 該列表下出現(xiàn)的標(biāo)簽及對(duì)應(yīng)的屬性是不會(huì)被過濾掉的。

                  // xss過濾白名單
                  ,whitList: {
                      iframe: ['frameborder','border','width','height','src','id'],
                      a:      ['target', 'href', 'title', 'class', 'style'],
                      abbr:   ['title', 'class', 'style'],
                      script: ['type','src'],
                      address: ['class', 'style'],
                      area:   ['shape', 'coords', 'href', 'alt'],
                      article: [],
                      aside:  [],
                      audio:  ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'],
                      b:      ['class', 'style'],

            以上二步缺一不可,按照步驟修改相關(guān)標(biāo)簽及對(duì)應(yīng)的屬性,保存后覆蓋原來的文件,清空站點(diǎn)及本地緩存后即可生效。

            若以上兩步仍不能解決問題,script,style等標(biāo)簽依然被過濾,那么請(qǐng)檢查使用編輯器的頁面調(diào)用的是哪個(gè)文件(ueditor.js還是ueditor.min.js),打開對(duì)應(yīng)的文件,一般用的是ueditor.min.js這個(gè)文件,搜索代碼“filterInputRule:function”,在代碼{for(var這個(gè)位置即for前加入return; 編輯之后是:{return;for(var,然后保存上傳并覆蓋。


            如果還是搞不定,本人以Euditor1.4.3為例把修改好的文件打包分享出來,大家可以直接下載覆蓋。
            鏈接: https://pan.baidu.com/s/1Kx8lu-tli6EYb4cIkP5hzg 提取碼: r76f


          主站蜘蛛池模板: 久久青青草原一区二区| 国产精品视频免费一区二区| 国产中文字幕一区| 亚洲狠狠久久综合一区77777| 一区二区国产在线观看| 国产一区二区视频免费| 精品视频一区二区三区| 性色A码一区二区三区天美传媒| 中文字幕一区二区三区精华液| 国产在线精品一区二区夜色 | 无码日韩人妻AV一区二区三区| 精品人妻AV一区二区三区| 国产SUV精品一区二区88L | 日韩人妻精品一区二区三区视频| 人妻激情偷乱视频一区二区三区 | 国产午夜精品一区理论片| 99精品一区二区免费视频 | 精品国产福利第一区二区三区| 国产在线aaa片一区二区99| 国产人妖在线观看一区二区 | 国产无线乱码一区二三区 | 国产亚洲一区二区手机在线观看| 国产一区二区三区日韩精品| 国产精品日韩欧美一区二区三区 | asmr国产一区在线| 国产精品亚洲专一区二区三区| 日韩精品一区二区三区老鸭窝| 亚洲国产精品一区二区成人片国内 | 伊人精品视频一区二区三区| 亚洲AⅤ无码一区二区三区在线| 国产人妖视频一区二区破除| 99国产精品欧美一区二区三区| 亚洲日韩国产一区二区三区在线 | 国产一区二区三区无码免费| 国产精品亚洲一区二区三区| 免费高清av一区二区三区| 性盈盈影院免费视频观看在线一区| 欲色aV无码一区二区人妻| 中文字幕精品一区二区2021年| 97人妻无码一区二区精品免费| 韩国一区二区视频|