面試一

1.怎么設(shè)置12px一下的字體

使用transform:scale(0.8);

2.css的盒子模型,用哪個屬性是切換盒模型的

box-sizing:content-box|border-box

3.rem,em,px,vw,vh單位的區(qū)別?

rem相對于html的font-size:改變而改變,em相對于父級容器的font-size而改變,vw相對與屏幕的寬度1%

4.Vue中有時(shí)改變了值但是沒有渲染怎么解決?

vue.$set(obj,propo,val);//第一個參數(shù):修改的對象,第二個參數(shù):想改的屬性,第三個參數(shù),修改的值

5.vue中v-for 的key一般用什么值,有什么用處?

一般使用index當(dāng)作key的值,但是有時(shí)使用index會影響渲染效率,key的作用主要是為了高效的更新虛擬DOM

6.es6中你用的最多的有哪些?

模板字符串,箭頭函數(shù),擴(kuò)展運(yùn)算符,塊級作用域,promise,模塊import,export,解構(gòu)賦值

7.js中的數(shù)據(jù)類型,怎么判斷是什么類型的 ?

字符串用typeof,數(shù)組用intranceof(),判斷構(gòu)造函數(shù)是否在實(shí)例的prototype上

8.前端的頁面優(yōu)化?

1.減少http請求
2.壓縮js,css

  1. 減少dom操作

9.事件防抖節(jié)流?

防抖:
給一個定時(shí)器,當(dāng)定時(shí)器結(jié)束時(shí)執(zhí)行邏輯代碼,并清除定時(shí)器,當(dāng)定時(shí)器沒有結(jié)束,再次觸發(fā)后清楚定時(shí)器,并重新開始定時(shí)器

const on = Vue.prototype.$on
// 防抖處理
Vue.prototype.$on = function (event, func) {
  let timer
  let newFunc = func
  if (event === 'click') {
    newFunc = function () {
      clearTimeout(timer)
      timer = setTimeout(function () {
        func.apply(this, arguments)
      }, 500)
    }
  }
  on.call(this, event, newFunc)
}

節(jié)流:
定時(shí)器:

const on = Vue.prototype.$on
  
// 節(jié)流
Vue.prototype.$on = function (event, func) {
  let previous = 0
  let newFunc = func
  if (event === 'click') {
    newFunc = function () {
      const now = new Date().getTime()
      if (previous + 1000 <= now) {
        func.apply(this, arguments)
        previous = now
      }
    }
  }
  on.call(this, event, newFunc)
}

10.事件委托與vue中怎么實(shí)現(xiàn)事件委托

在父級中綁定事件在事件中使用e.target.nodeName

11.html5離線存儲有幾種方式?他們有什么區(qū)別?

localStorage.sessionStorage,cookies,離線儲存manifest,cache那些文件需要緩存

12.移動端時(shí)經(jīng)常會碰到設(shè)配問題,你怎么解決不懂屏幕的適配問題

動態(tài)的設(shè)置html的font-size值,在頁面中除了文字大小其他的用rem,設(shè)置視口與設(shè)備的寬度相同

13.v-if與v-show的區(qū)別?

v-if一般是作為條件渲染時(shí)使用,當(dāng)有不同的條件顯示不同的頁面時(shí)可以使用,不顯示的東西在dom中找不到
而v-show只是控制dom的display變?yōu)閚one

14.http狀態(tài)碼?200,300,400,500

200:成功
301:永久重定向,表示請求的資源被分配了新的URL,之后應(yīng)使用更改的URL
302:臨時(shí)行重定向,表示請求的資源被分配了新的url,本次訪問使用新的URL
303:表示請求的資源被分配了新的URL,應(yīng)使用GET方法定向獲取資源
304:表示客戶端發(fā)送附帶條件(是指采用GET方法的請求報(bào)文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的請求時(shí),服務(wù)器端允許訪問資源,但是請求為滿足條件的情況下返回改狀態(tài)碼;
307:與303有著相同的含義,307會遵照瀏覽器標(biāo)準(zhǔn)不會從POST變成GET;(不同瀏覽器可能會出現(xiàn)不同的情況);
400:請求報(bào)文中存在語法錯誤
401:未經(jīng)許可,需要通過http認(rèn)證
403:服務(wù)器拒絕該次訪問
404:表示服務(wù)器上無法找到請求的資源
500:表示服務(wù)器在執(zhí)行請求時(shí)發(fā)生了錯誤,也有可能是web應(yīng)用存在的bug或某些臨時(shí)的錯誤時(shí);
503:表示服務(wù)器暫時(shí)處于超負(fù)載或正在進(jìn)行停機(jī)維護(hù),無法處理請求;

15.webpack中的plugins與loader的區(qū)別是什么?

loader :loader 用于對模塊的源代碼進(jìn)行轉(zhuǎn)換。loader 可以使你在 import 或"加載"模塊時(shí)預(yù)處理文件。因此,loader 類似于其他構(gòu)建工具中“任務(wù)(task)”,并提供了處理前端構(gòu)建步驟的強(qiáng)大方法。loader 可以將文件從不同的語言(如 TypeScript)轉(zhuǎn)換為 JavaScript,或?qū)?nèi)聯(lián)圖像轉(zhuǎn)換為 data URL。loader 甚至允許你直接在 JavaScript 模塊中 import CSS文件!

總結(jié)區(qū)別

1 .文檔定義loader為在模塊加載時(shí)的預(yù)處理文件,故loader運(yùn)行在打包文件之前。
2 . plugins的定義為處理loader無法處理的事物,例如loader只能在打包之前運(yùn)行,但是plugins在整個編譯周期都起作用。

16.uniapp中的.nvue 與.vue區(qū)別

在App端,如果使用vue頁面,則使用webview渲染;如果使用nvue頁面(native vue的縮寫),則使用原生渲染。一個App中可以同時(shí)使用兩種頁面

18.vue中數(shù)據(jù)綁定的原理是什么?怎么實(shí)現(xiàn)的數(shù)據(jù)渲染

VUE實(shí)現(xiàn)雙向數(shù)據(jù)綁定的原理就是利用了 Object.defineProperty() 這個方法重新定義了對象獲取屬性值(get)和設(shè)置屬性值(set)的操作來實(shí)現(xiàn)的。

19.瀏覽器輸入url按下回車后會怎么樣?

20.什么是閉包,閉包會出現(xiàn)什么問題?怎么手動清除內(nèi)存泄露

閉包是指有權(quán)訪問另一個函數(shù)作用域中變量的函數(shù),創(chuàng)建閉包的最常見的方式就是在一個函數(shù)內(nèi)創(chuàng)建另一個函數(shù),通過另一個函數(shù)訪問這個函數(shù)的局部變量,利用閉包可以突破作用鏈域,將函數(shù)內(nèi)部的變量和方法傳遞到外部。

21.git你對git了解的多嗎?一般都是怎么使用的

git clone 
git pull
git push 
git branch //查看分支
git branch name 創(chuàng)建分支
git checkout -b name 創(chuàng)建并切換分支

22.Vue加載時(shí)會出現(xiàn)短暫的白屏怎么解決?
1、bundle太大,沒有壓縮混淆。
2、bundle沒有使用異步模塊加載。
3、bundle沒有拆分css樣式或者base64了圖片。
解決方法:1、路由懶加載

import ShowBlogs from '@/components/ShowBlogs'

routes:[ path: 'Blogs', name: 'ShowBlogs', component: ShowBlogs ]
//改為
routes:[ 
        path: 'Blogs',
        name: 'ShowBlogs',
        component: () => import('./components/ShowBlogs.vue')
    ]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 父類實(shí)現(xiàn)深拷貝時(shí),子類如何實(shí)現(xiàn)深度拷貝。父類沒有實(shí)現(xiàn)深拷貝時(shí),子類如何實(shí)現(xiàn)深度拷貝。? 深拷貝同淺拷貝的區(qū)別:淺拷...
    JonesCxy閱讀 1,203評論 1 7
  • ? 深拷貝同淺拷貝的區(qū)別:淺拷貝是指針拷貝,對一個對象進(jìn)行淺拷貝,相當(dāng)于對指向?qū)ο蟮闹羔樳M(jìn)行復(fù)制,產(chǎn)生一個新的指向...
    WSGNSLog閱讀 1,393評論 0 1
  • 33、JS中的本地存儲 把一些信息存儲在當(dāng)前瀏覽器指定域下的某一個地方(存儲到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,248評論 0 2
  • 序號 問題 1 自我介紹 2 知道的集合類有哪些 List set map 3 String、StringBuff...
    zhihaoZzz閱讀 442評論 0 2
  • 在四種性格里面,復(fù)合難度同樣很高的,還有藍(lán)色性格,原因是因?yàn)樗{(lán)色性格在進(jìn)入一段感情之前是經(jīng)過深思熟慮的,考慮過種種...
    膠州寶龍甘麗娜閱讀 142評論 0 0

友情鏈接更多精彩內(nèi)容