前端面試知識點


html



css



JS


  • js的基本類型有哪些?引用類型有哪些?引用類型和基本類型有什么區(qū)別狐榔?哪個是存在堆哪一個是存在棧上面的简僧?
    空值(null)建椰、
    未定義(undefined)、
    布爾值(boolean)岛马、
    數(shù)字(number)棉姐、
    字符串(string)屠列、
    對象(object)、
    符號(symbol伞矩,ES6中新增)

https://www.cnblogs.com/cxying93/p/6106469.html
https://www.zhihu.com/question/349080864

// 主要用于檢測引用類型(左邊是對象备韧,右邊是函數(shù).根據(jù)對象的原形鏈往上找,如果原形鏈上有右邊函數(shù).prototype痪枫,返回true;否則返回false)
var obj = {}; obj instanceof Object; //=> true; 
var arr = []; arr instanceof Array; //=> true;
var fn = function() {}; fn instanceof Function; //=> true;

hasOwnProperty() obj對象自身屬性中是否具有某個屬性
isPrototypeOf()

// 用于測試一個對象是否存在于另一個對象的原型鏈上织堂。在obj對象原型鏈上搜尋
    function VFrank() {}
    VFrank.prototype.name = "vfrank";
    VFrank.prototype.age = 29;
    VFrank.prototype.job = "Web Engineer";
    var person = new VFrank();
    console.log(VFrank.prototype.isPrototypeOf(person));// true
  • foreach map 區(qū)別
    1 都是循環(huán)每一項
    2 foreach 更改原數(shù)組, 沒有返回值
    3 map 不更改原數(shù)組奶陈,有返回值
  • 瀏覽器運行機制
    https://segmentfault.com/a/1190000020889508

ES6



框架


  • 簡述 vue 工作流程

/**
* 1 數(shù)據(jù)劫持 2 編譯模板
* 1 數(shù)據(jù)劫持 就是 Object.defineProperty 方法肖爵,他有g(shù)et set 方法卢鹦,get取數(shù)據(jù) set設(shè)置數(shù)據(jù) 更新數(shù)據(jù)了會重新編譯數(shù)據(jù)模板
* 2 編譯作用是把 vue 模板轉(zhuǎn)為 瀏覽器的dom展示在頁面上,主要做的那就是把模板上綁定的事件轉(zhuǎn)化為一個個監(jiān)聽器劝堪,監(jiān)視用戶的動作冀自,執(zhí)行updata 方法
* 3 獲取接口 重置 data時 就觸發(fā) 數(shù)據(jù)劫持的set 方法, set 方法調(diào)用 監(jiān)聽器的 update 方法
* 4 頁面用戶輸入 操作時 觸發(fā)對應(yīng)的事件幅聘,事件有對應(yīng)的監(jiān)聽器 可以調(diào)用 監(jiān)聽器的 update 方法更新數(shù)據(jù)
*/

  • 什么是MVVM凡纳,MVC,MVP
  • mvc(agular)
    1 用戶輸入動作(指令)帝蒿,
    2 指令觸發(fā)荐糜,調(diào)用相應(yīng)的函數(shù)方法邏輯,更改數(shù)據(jù)
    3 數(shù)據(jù)更改后葛超,通過某種方法(這里是臟治檢測)告訴視圖更新
  • mvvm(vue)
    就是通過某種方法使 視圖(view) 和 數(shù)據(jù)(model) 建立聯(lián)系(這里是通過js Object.defineProperty()暴氏, 方法建立雙向關(guān)系)
    view 改變通知vm ,然后vm 改變 model
    model 改變通知vm, 然后vm 改變 view
    https://blog.csdn.net/spring5530/article/details/65982198

https://blog.csdn.net/weixin_45213848/article/details/93231307
https://www.cnblogs.com/yiyiyurou/p/9881156.html

  • data 為啥是函數(shù) 不是對象
    第13個問題

  • angluar vue的區(qū)別
    http://www.reibang.com/p/7b7b195e0297

  • vue 和原生的區(qū)別

  • vuex 優(yōu)勢
    統(tǒng)一公共屬性方法 方便維護
    只提供單一的更改屬性的方法 保證維護 溯源的方便(要是多個更改方法會難以維護 溯源)

  • 處理跨域

    開發(fā)環(huán)境 用熱更新插件 配置 地址 node 代理
    生產(chǎn)環(huán)境 ngix 配置
    cors 配置

  • 兄弟a b組件之間绣张,點擊a組件 出發(fā)b的函數(shù)

a 觸發(fā) this.$emit 給父組件答渔,父組件 用ref.子組件的方法

EventBus.$on(channel: string, callback(payload1,…))

EventBus.$off(channel, {})

https://www.qy.cn/jszx/detail/3822.html


前端優(yōu)化


  • 防抖 節(jié)流
防抖:  規(guī)定一個期限時間,在首次觸發(fā)事件時辨泳,不立即執(zhí)行回調(diào)函數(shù)虱岂,而是在期限時間后再執(zhí)行,如果期限時間內(nèi)回調(diào)函數(shù)被重復(fù)執(zhí)行菠红,則期限時間重新計時第岖。(100ms 內(nèi)執(zhí)行10次,按最后一次的的時間试溯,在延時執(zhí)行蔑滓,函數(shù)執(zhí)行需要 一段時間)
節(jié)流: 一段時間只執(zhí)行一次,執(zhí)行多次按最后一次計算(100ms 內(nèi)執(zhí)行10次遇绞,只執(zhí)行最后一次)

http://www.reibang.com/p/3b782abd27ed


babel


https://www.jiangruitao.com/babel/quick-start/


移動端


  • 移動端 1px 像素
// border
:after{
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      background: #cccccc;
      width: 100%;
      height: 1px;
      -webkit-transform: scaleY(0.5);
      transform: scaleY(0.5);
      -webkit-transform-origin: 0 0;
      transform-origin: 0 0;
    }
// 按鈕邊框
:after{
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      border: 1px solid #cccccc;
      border-radius: 26px;
      width: 200%;
      height: 200%;
      -webkit-transform: scale(0.5);
      transform: scale(0.5);
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }

參考

  • 移動端rem適配
(function (doc, win) {
  // 以蘋果6 375px為標(biāo)準  1rem為10px
  var docEl = doc.documentElement
  var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
  var recalc = function () {
    var clientWidth = docEl.clientWidth
    if (!clientWidth) return
    docEl.style.fontSize = 2 * (clientWidth / 75) + 'px'
  }
  if (!doc.addEventListener) return
  win.addEventListener(resizeEvt, recalc, false)
  doc.addEventListener('DOMContentLoaded', recalc, false)
})(document, window)

  • 300 毫秒的點擊延時
const str = navigator.userAgent.toLowerCase()
const ver = str.match(/cpu iphone os (.*?) like mac os/)
if (!ver) { // 非IOS系統(tǒng)
  // 引入fastclick 做相關(guān)處理
  document.addEventListener('DOMContentLoaded', function () {
    FastClick.attach(document.body)
  }, false)
} else {
// 蘋果版本 11 以上已經(jīng)處理了延時
  if (parseInt(ver[1]) < 11) {
    // 引入fastclick 做相關(guān)處理
    document.addEventListener('DOMContentLoaded', function () {
      FastClick.attach(document.body)
    }, false)
  }
}
  • 輸入框不回彈處理键袱、
      setTimeout(() => {
        window.scrollTo(0, document.body.scrollTop + 1)
        document.body.scrollTop >= 1 && window.scrollTo(0, document.body.scrollTop - 1)
      }, 10)
// routerjs
const router = createRouter({
  // https://cli.vuejs.org/zh/config/#publicpath
  base: '/www/', // 這個是服務(wù)器的訪問路徑配置
  ...
  routes
})
export default router

// vue.config.js
module.exports = {
  // 安卓不能訪問 帶 # 號的url 改成 history模式了
  // 參考 https://www.cnblogs.com/tugenhua0707/p/8127466.html
  publicPath: process.env.NODE_ENV === 'develop' ? '/' : '/www/',
...
}

http



算法



面試題



打包工具


代碼管理

--

職業(yè)規(guī)劃



http://www.cnblogs.com/lvshaonan/p/8693301.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市舵匾,隨后出現(xiàn)的幾起案子俊抵,更是在濱河造成了極大的恐慌,老刑警劉巖纽匙,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件务蝠,死亡現(xiàn)場離奇詭異,居然都是意外死亡烛缔,警方通過查閱死者的電腦和手機馏段,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來践瓷,“玉大人院喜,你說我怎么就攤上這事≡未洌” “怎么了喷舀?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵砍濒,是天一觀的道長。 經(jīng)常有香客問我硫麻,道長爸邢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任拿愧,我火速辦了婚禮杠河,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浇辜。我一直安慰自己券敌,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布柳洋。 她就那樣靜靜地躺著待诅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪熊镣。 梳的紋絲不亂的頭發(fā)上卑雁,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機與錄音轧钓,去河邊找鬼序厉。 笑死,一個胖子當(dāng)著我的面吹牛毕箍,可吹牛的內(nèi)容都是我干的弛房。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼而柑,長吁一口氣:“原來是場噩夢啊……” “哼文捶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起媒咳,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤粹排,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涩澡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顽耳,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年妙同,在試婚紗的時候發(fā)現(xiàn)自己被綠了射富。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡粥帚,死狀恐怖胰耗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芒涡,我是刑警寧澤柴灯,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布卖漫,位于F島的核電站,受9級特大地震影響赠群,放射性物質(zhì)發(fā)生泄漏羊始。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一乎串、第九天 我趴在偏房一處隱蔽的房頂上張望店枣。 院中可真熱鬧,春花似錦叹誉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忙灼,卻和暖如春匠襟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背该园。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工酸舍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人里初。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓啃勉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親双妨。 傳聞我的和親對象是個殘疾皇子淮阐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

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