2018-12前端面試題

一、html

1. 塊級元素蠢壹、行內(nèi)元素和空(void)元素有哪些超升?

塊級元素:div入宦、ul、li室琢、dl乾闰、dt、dd盈滴、p涯肩、h1-h6、blockquote

行內(nèi)元素:a巢钓、b病苗、span、img症汹、input硫朦、strong、select背镇、label咬展、em、button瞒斩、textarea

空(void)元素:即系沒有內(nèi)容的HTML元素挚赊,例如:br、meta济瓢、hr荠割、link、input旺矾、img

2. 清除浮動的方式有哪些蔑鹦,哪種方式最好?

(1)clear:both

    原理:添加一個空div箕宙,利用css提高的clear:both清除浮動嚎朽,讓父級div能自動獲取到高度

    父元素:after{
          display:block;
          content:'';
          clear:both;
    }
(2)overflow:hidden柬帕;解決高度塌陷哟忍,在父容器里寫

    優(yōu)點:簡單狡门,代碼少,瀏覽器支持好

3. DOCTYPE的作用是什么锅很?

告知瀏覽器的解釋器用什么文檔標準解析這個文檔其馏。

4. html5有哪些新特性?

(1)語義標簽

    <header/><footer/><nav/>

(2)增強型表單

      placehoder 屬性爆安,簡短的提示在用戶輸入值前會顯示在輸入域上叛复。即我們常見的輸入框默認 提示,在用戶輸入后消失扔仓。

      required  屬性褐奥,是一個 boolean 屬性。要求填寫的輸入域不能為空

      pattern 屬性翘簇,描述了一個正則表達式用于驗證<input> 元素的值撬码。

      min 和 max 屬性,設(shè)置元素最小值與最大值版保。

      autofocus 屬性耍群,是一個 boolean 屬性。規(guī)定在頁面加載時找筝,域自動地獲得焦點蹈垢。

      multiple 屬性 ,是一個 boolean 屬性袖裕。規(guī)定<input> 元素中可選擇多個值曹抬。

(3)視頻和音頻

(4)Canvas繪圖

(5)SVG繪圖

(6)地理定位

(7)拖放API

(8)Web Storage

    客戶端存儲數(shù)據(jù)的兩個對象為:

        localStorage - 沒有時間限制的數(shù)據(jù)存儲

        sessionStorage - 針對一個 session 的數(shù)據(jù)存儲, 當用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會被刪除急鳄。

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

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

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

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

7.解釋css sprites坎藐,如何使用为牍。

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

  其實就是把網(wǎng)頁中一些背景圖片整合到一張圖片文件中岩馍,再利用CSS的“background-image”碉咆,“background- repeat”,“background-position”的組合進行背景定位蛀恩,background-position可以用數(shù)字精確的定位出[背景圖片](http://baike.baidu.com/view/950110.htm%22%20%5Ct%20%22_blank)的位置疫铜。
  1. 數(shù)組方法pop() push() unshift() shift() splice() slice()

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

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

9.call和apply的區(qū)別

兩者是指當前的this指針指向調(diào)用你的那個function

Object.call(this,obj1,obj2,obj3),call()的參數(shù)是單個單個的形式

Object.apply(this,arguments)有兩個參數(shù)(當前方法双谆,數(shù)組)

用處:實現(xiàn)繼承

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

object number string boolean underfind function
  1. js繼承三種方式

    js原型(prototype)實現(xiàn)繼承

   構(gòu)造函數(shù)實現(xiàn)繼承

    call , apply實現(xiàn)繼承
  1. JavaScript中如何檢測一個變量是一個String類型壳咕?請寫出函數(shù)實現(xiàn)
    typeof(obj) == String;

    obj instanceof String
  1. 頁面導(dǎo)入css樣式有哪幾種席揽?link和@import的區(qū)別是?
    (1) 從屬關(guān)系區(qū)別

        @import是 CSS 提供的語法規(guī)則谓厘,只有導(dǎo)入樣式表的作用幌羞;link是HTML提供的標簽,不僅可以加載 CSS 文件庞呕,還可以定義 RSS新翎、rel 連接屬性等程帕。

  (2)加載順序的區(qū)別

        link先加載網(wǎng)頁再顯示結(jié)構(gòu)住练,import相反

  (3)兼容性的區(qū)別

        @import是 CSS2.1 才有的語法,故只可在 IE5+ 才能識別愁拭;link標簽作為 HTML 元素讲逛,不存在兼容性問題。

 (4)DOM的可控性區(qū)別

        可以通過 JS 操作 DOM 岭埠,插入link標簽來改變樣式盏混;由于 DOM 方法是基于文檔的,無法使用@import的方式插入樣式惜论。

(5)權(quán)重區(qū)別

          在link標簽引入的 CSS 文件中使用@import時许赃,相同樣式將被該 CSS 文件本身的樣式層疊。
  1. css選擇器有哪些馆类?
(1)標簽選擇器(如:body,div,p,ul,li)

(2)類選擇器(如:class="head",class="head_logo") 

(3)ID選擇器(如:id="name",id="name_txt")

(4)全局選擇器(如:*號)

(5)組合選擇器(如:.head .head_logo,注意兩選擇器用空格鍵分開)

(6)繼承選擇器(如:div p,注意兩選擇器用空格鍵分開)

(7)偽類選擇器(如:就是鏈接樣式,a元素的偽類混聊,4種不同的狀態(tài):link、visited乾巧、active句喜、hover。)

(8)字符串匹配的屬性選擇符(^ $ *三種沟于,分別對應(yīng)開始咳胃、結(jié)尾、包含) 

15. js的基礎(chǔ)類型有哪些旷太?

Undefined展懈、Null、Boolean供璧、Number和String标沪。還有1中復(fù)雜的數(shù)據(jù)類型————Object,Object本質(zhì)上是由一組無序的名值對組成的

16. ajax是如何是實現(xiàn)的嗜傅?

       (1) 創(chuàng)建 XMLHTTPRequest對象

       (2) open(method, url, async) 

     method:發(fā)送請求所使用的方法(GET或POST)金句;與POST相比,GET更簡單也更快吕嘀,并且在大部分情況下都能用违寞;
      url:訪問路徑贞瞒;
     async:規(guī)定應(yīng)當對請求進行異步(true)或同步(false)處理;true是在等待服務(wù)器響應(yīng)時執(zhí)行其他腳本趁曼,當響應(yīng)就緒后對響應(yīng)進行處理军浆;false是等待服務(wù)器響應(yīng)再執(zhí)行。

    (3) send() 方法可將請求送往服務(wù)器挡闰。

    (4) onreadystatechange:存有處理服務(wù)器響應(yīng)的函數(shù)乒融,每當 readyState 改變時,onreadystatechange 函數(shù)就會被執(zhí)行摄悯。

    (5) readyState:存有服務(wù)器響應(yīng)的狀態(tài)信息赞季。

    (6) responseText:獲得字符串形式的響應(yīng)數(shù)據(jù)。

    (7) setRequestHeader():POST傳數(shù)據(jù)時奢驯,用來添加 HTTP 頭申钩,然后send(data),注意data格式瘪阁;GET發(fā)送信息時直接加參數(shù)

到url上就可以撒遣,比如url?a=a1&b=b1。

代碼示例:
$.ajax({
      url:"{:U('ajax_question')}",  //請求路徑
       dataType:'json',  //數(shù)據(jù)類型
       async:true,//請求是否異步管跺,默認為異步义黎,這也是ajax重要特性
       success:function(res){
           //請求成功時處理
           $('.answer-wrap').append(res);//通過append的方式動態(tài)添加html代碼
       },
       error:function(res){
           //請求成功時處理
           layer.msg('服務(wù)器繁忙,請稍后重試')
       }
   });

17. "==="和“==”區(qū)別

    “===”代表類型和值相同

    “==”代表值相同

18. 什么是閉包?什么是回調(diào)豁跑?什么是跨域廉涕?

    閉包:定義一個函數(shù),函數(shù)里嵌套函數(shù)贩绕,外層函數(shù)調(diào)用內(nèi)層函數(shù)方法火的。(可以訪問別的方法內(nèi)部的參數(shù))

    回調(diào):一個方法作為參數(shù)傳給另一個方法,另一個方法里調(diào)用這個函數(shù).

    跨域:協(xié)議淑倾、域名馏鹤、端口與當前不同

19.優(yōu)化前端性能的方法有哪些?

(1)頁面級優(yōu)化

    a.減少HTTP請求次數(shù)

        從設(shè)計實現(xiàn)層面簡化頁面

        合理設(shè)置 HTTP緩存

        資源合并與壓縮

        合并 CSS圖片

        將 CSS放在 HEAD中

    b.將外部腳本置底(將腳本內(nèi)容在頁面信息內(nèi)容加載后再加載)

        將引入的js放在行為層(最底部)

   c.減少不必要的 HTTP跳轉(zhuǎn)

   d.避免重復(fù)的資源請求

(2)代碼級優(yōu)化

    a.少用字符串拼接娇哆,+

    緩存節(jié)點湃累,盡量減少節(jié)點的查找

    避免無謂的循環(huán),break碍讨、continue治力、return的適當使用

    減少節(jié)點的操作(innerHTML)

 (3)Image壓縮

20.get 和post有哪些區(qū)別?以及各自的使用環(huán)境

POST和GET都是向服務(wù)器提交數(shù)據(jù)勃黍,并且都會從服務(wù)器獲取數(shù)據(jù)宵统。

**區(qū)別:**

1、傳送方式:get通過地址欄傳輸覆获,post通過報文傳輸马澈。

2瓢省、傳送長度:get參數(shù)有長度限制(受限于url長度),而post無限制

3痊班、get比post更不安全勤婚,因為參數(shù)直接暴露在url中,所以不能用來傳遞敏感信息涤伐。

    get請求只能進行url編碼馒胆,而post支持多種編碼方式

    get請求會瀏覽器主動cache,而post支持多種編碼方式凝果。

    get請求參數(shù)會被完整保留在瀏覽歷史記錄里祝迂,而post中的參數(shù)不會被保留。

4.最直觀的區(qū)別就是GET把參數(shù)包含在URL中豆村,POST通過request body傳遞參數(shù)液兽。

21. ajax請求方式骂删?

get掌动,post,delete宁玫,put粗恢,update

22.window.onload與$.onload區(qū)別

兩者都是在dom文檔樹加載完執(zhí)行的,但window.onload是在dom文檔樹加載完和所有文件加載完執(zhí)行的一個函數(shù)欧瘪。$(document).ready要比window.onload先執(zhí)行
  1. es6的新增功能
  1. 新的變量聲明方式 let/const
  2. 箭頭函數(shù)的使用
      const fn = (a, b) => a + b;
      箭頭函數(shù)最直觀的三個特點眷射。
          不需要 function 關(guān)鍵字來創(chuàng)建函數(shù)
          省略 return 關(guān)鍵字
          繼承當前上下文的 this 關(guān)鍵字
  3. 模板字符串 ``
  4. 函數(shù)默認參數(shù)  ,不定參數(shù),拓展參數(shù)
       function add(x = 20, y = 30) {
            return x + y;
       }
       console.log(add());
  5.  展開運算符 ...
      const arr1 = [1, 2, 3];
      const arr2 = [...arr1, 10, 20, 30];
      // 這樣佛掖,arr2 就變成了[1, 2, 3, 10, 20, 30];
  6. 類的支持妖碉,引入class關(guān)鍵字
  7. for of
  1. CSS3的新特性
  圓角border-radius
  陰影box-shadow
  文字陰影text-shadow
  線性漸變gradient
  旋轉(zhuǎn)transform

二. vue框架

  1. 創(chuàng)建vuejsjiao'shou'jia:vue init webpack 項目名
  2. 傳值
      (1)A組件向B組建傳值
            A: this.$router.push({path:'/B',query:{id:11}})
            B接收:this.$router.query.id
        (2)  父組件向子組件傳值 props
            父:<child:name-list="names">
            子接受:props:['name-list']
        (3) 子組件向父組件傳值(通過事件傳值) $on(event)監(jiān)聽事件,$emit(event)觸發(fā)事件
            子:<button @click="submit">
                      submit(){
                            this.$emit('code',888)
                      }
            父接收:<child @code='getcode'>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芥被,一起剝皮案震驚了整個濱河市欧宜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拴魄,老刑警劉巖冗茸,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異匹中,居然都是意外死亡夏漱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門顶捷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挂绰,“玉大人,你說我怎么就攤上這事服赎】伲” “怎么了芳室?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刹勃。 經(jīng)常有香客問我堪侯,道長,這世上最難降的妖魔是什么荔仁? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任伍宦,我火速辦了婚禮,結(jié)果婚禮上乏梁,老公的妹妹穿的比我還像新娘次洼。我一直安慰自己,他們只是感情好遇骑,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布卖毁。 她就那樣靜靜地躺著,像睡著了一般落萎。 火紅的嫁衣襯著肌膚如雪亥啦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天练链,我揣著相機與錄音翔脱,去河邊找鬼。 笑死媒鼓,一個胖子當著我的面吹牛届吁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绿鸣,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼疚沐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了潮模?” 一聲冷哼從身側(cè)響起亮蛔,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎再登,沒想到半個月后尔邓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锉矢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年梯嗽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽损。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡灯节,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情炎疆,我是刑警寧澤卡骂,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站形入,受9級特大地震影響全跨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亿遂,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一浓若、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蛇数,春花似錦挪钓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浦徊,卻和暖如春馏予,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辑畦。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工吗蚌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腿倚,地道東北人纯出。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像敷燎,于是被迫代替她去往敵國和親暂筝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,311評論 24 450
  • <a name='html'>HTML</a> Doctype作用硬贯?標準模式與兼容模式各有什么區(qū)別? (1)焕襟、<...
    clark124閱讀 3,460評論 1 19
  • 1.一些開放性題目 1.自我介紹:除了基本個人信息以外,面試官更想聽的是你與眾不同的地方和你的優(yōu)勢饭豹。 2.項目介紹...
    55lover閱讀 635評論 0 6
  • 面試題一:https://github.com/jimuyouyou/node-interview-questio...
    R_X閱讀 1,613評論 0 5
  • 新員工來了拄衰,據(jù)說全是本科以上學(xué)歷它褪。想當初,招聘我們的時候翘悉,高中以上學(xué)歷就可以∶4颍現(xiàn)在單從學(xué)歷來看,新員工上升了2個檔...
    芮兒1003閱讀 219評論 0 1