摘要:隨機數參數中設置等。有哪幾種導航鉤子三種,第一種是全局導航鉤子,作用跳轉前進行判斷攔截。在階段,實例的數據對象有了,還沒有。載入前后在階段,實例的和都初始化了,但還是掛載之前為虛擬的節點,還未替換。更新前后當變化時,會觸發和方法。
最近面試了 很多1-2年的前端,網上手機了一些 問題和答案,發出來 希望能幫助到大家~
CSS篇
IOS手機瀏覽器字體齒輪
修改-webkit-font-smoothing屬性
結果是:-webkit-font-smoothing: none: 無抗鋸齒-webkit-font-smoothing: antialiased | subpixel-antialiased | default: 灰度平滑
怎么讓Chrome支持小于12px 的文字?
我們的做法是:
針對谷歌瀏覽器內核,加webkit前綴,用transform:scale()這個屬性進行縮放! p span {font-size:10px;-webkit-transform:scale(0.8);display:block;}
CSS預處理器(Sass/Less/Postcss)
CSS預處理器的原理: 是將類 CSS 語言通過 Webpack 編譯 轉成瀏覽器可讀的真正 CSS。
在這層編譯之上,便可以賦予 CSS 更多更強大的功能,常用功能:
嵌套 變量 循環語句 條件語句 自動前綴 單位轉換 mixin復用
JS
網站js和css如何壓縮?有哪些方法?
概念性知識點:
http請求問題,HTTP請求信息由那3部分組成?
請求方法URI協議/版本 (例如:GET/haorooms.jspHTTP/1.1)
請求頭(Request Header)(例如:Accept:image/gif.image/jpeg./ Accept-Language:zh-cn Connection:Keep-Alive Host:localhost等等)
請求正文
前端性能優化問題,你是如何處理前端性能問題的?
www.haorooms.com/post/web_xn… 及 前端性能優化補充篇
寫出最簡單的去重方式
es6的new Set()方式
let array=[0,3,4,5,3,4,7,8,2,2,5,4,6,7,8,0,2,0,90];[...new Set(array)]
es5的Array filter()
[1,3,4,5,1,2,3,3,4,8,90,3,0,5,4,0].filter(function(elem,index,Array){ return index === Array.indexOf(elem);})
谷歌瀏覽器運行下面代碼,并解釋!
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
運行上面代碼之后,會發現HTML層都被使用不同的顏色添加了一個高亮的邊框。為什么會這樣呢?
如何處理緩存?如何清除緩存。
ajax隨機數、ajax參數、meta中設置等。可以看下我寫的 js清除瀏覽器緩存的幾種方法
Websocket
Websocket 是一個 持久化的協議, 基于 http , 服務端可以 主動 push
兼容:
FLASH Socket
長輪詢: 定時發送 ajax
long poll: 發送 --> 有消息時再 response
new WebSocket(url)
ws.onerror = fn ws.onclose = fn ws.onopen = fn ws.onmessage = fn ws.send()
跨域
JSONP: 利用標簽不受跨域限制的特點,缺點是只能支持 get 請求
設置 CORS: Access-Control-Allow-Origin:*
postMessage
框架:Vue
vue-router如何做歷史返回提示?
vue-router如何做用戶登錄權限等?
vue組件通信
vue服務器渲染
vue性能優化
active-class是哪個組件的屬性?
vue-router模塊的router-link組件。
vue-router有哪幾種導航鉤子?
三種, 第一種:是全局導航鉤子:router.beforeEach(to,from,next),作用:跳轉前進行判斷攔截。 第二種:組件內的鉤子 第三種:多帶帶路由獨享組件
scss是什么?在vue.cli中的安裝使用步驟是?有哪幾大特性?css的預編譯。
使用步驟:
第一步:用npm 下三個loader(sass-loader、css-loader、node-sass)
第二步:在build目錄找到webpack.base.config.js,在那個extends屬性中加一個拓展.scss
第三步:還是在同一個文件,配置一個module屬性
第四步:然后在組件的style標簽加上lang屬性 ,例如:lang=”scss”
有哪幾大特性:
可以用變量,例如($變量名稱=值)
可以用混合器,例如()
可以嵌套
導航鉤子有哪些?它們有哪些參數?
導航鉤子有:
全局鉤子和組件內獨享的鉤子。
beforeRouteEnter、afterEnter、beforeRouterUpdate、beforeRouteLeave
參數: 有to(去的那個路由)、from(離開的路由)、next(一定要用這個函數才能去到下一個路由,如果不用就攔截)最常用就這幾種
Vue的雙向數據綁定原理是什么?
vue.js 是采用數據劫持 結合發布者-訂閱者模式的方式,通過Object.defineProperty()來劫持各個屬性的setter,getter,在數據變動時發布消息給訂閱者,觸發相應的監聽回調。
請詳細說下你對vue生命周期的理解?
總共分為8個階段 創建前/后,載入前/后,更新前/后,銷毀前/后
創建前/后:
在beforeCreated階段,vue實例的掛載元素 $el 和數據對象data都為undefined,還未初始化。 在created階段,vue實例的數據對象data有了,$el還沒有。
載入前/后: 在beforeMount階段,vue實例的$el和data都初始化了,但還是掛載之前為虛擬的dom節點,data.message還未替換。在mounted階段,vue實例掛載完成,data.message成功渲染。
更新前/后: 當data變化時,會觸發beforeUpdate和updated方法。
銷毀前/后: 在執行destroy方法后,對data的改變不會再觸發周期函數,說明此時vue實例已經解除了事件監聽以及和dom的綁定,但是dom結構依然存在
請說出vue.cli項目中src目錄每個文件夾和文件的用法?
assets文件夾是放靜態資源;
components是放組件;
router是定義路由相關的配置;
view視圖;
app.vue是一個應用主組件;
main.js是入口文件
vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
第一步:在components目錄新建你的組件文件(smithButton.vue),script一定要 export default {
第二步:在需要用的頁面(組件)中導入:import smithButton from "../components/smithButton.vue"
第三步:注入到vue的子組件的components屬性上面,components:{smithButton}
第四步:在template視圖view中使用,
自動化測試相關、mock數據相關、 webpack相關
這個考察你對webpack的理解是使用程度。
例如可能考察如下知識點:
hash(contenthash, chunkhash)
多頁面配置
發布上線流程
如何加快打包速度,減少打包體積
和其他工具的區別(grunt,glup,rollup,parcel,Browserify)
如果能看到這里的朋友都很不錯~
有get到幫助的,可以 圈一下~ 謝謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/6662.html
摘要:上節我們講了同源策略,這節我們講講如何跨域。當這些從的腳本執行出錯,因為違背了同源策略為了保證用戶信息不被泄露,錯誤信息不會顯示出來,取而代之只會返回一個。 前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,現在前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術水平,打牢基礎知識的中心思想,我們開課啦(每...
摘要:前端最基礎的就是。的原理瀏覽器發送請求,服務器給出響應。保持之前的界面不變化。的核心創建一個對象,用于發起請求設置為請求,請求發送請求。 前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,現在前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術水平,打牢基礎知識的中心思想,我們開課啦(每周四)。 ajax ...
摘要:前端最基礎的就是。的原理瀏覽器發送請求,服務器給出響應。保持之前的界面不變化。的核心創建一個對象,用于發起請求設置為請求,請求發送請求。 前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,現在前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術水平,打牢基礎知識的中心思想,我們開課啦(每周四)。 ajax ...
摘要:微信小程序課程,面向所有具備前端基礎知識的同學官網訪問官網更快閱讀全部免費分享課程出品全網最新微信小程序基于最新版開發者工具之初中級培訓教程分享。 ?? 微信小程序課程,面向所有具備前端基礎知識的同學 ?? iKcamp官網:http://www.ikcamp.com 訪問官網更快閱讀全部免費分享課程:《iKcamp出品|全網最新|微信小程序|基于最新版1.0開發者工具之初中級培訓教...
閱讀 1772·2021-11-15 11:37
閱讀 3044·2021-11-04 16:05
閱讀 1910·2021-10-27 14:18
閱讀 2742·2021-08-12 13:30
閱讀 2486·2019-08-29 14:18
閱讀 2076·2019-08-29 13:07
閱讀 2004·2019-08-27 10:54
閱讀 2714·2019-08-26 12:15