前端面试知识点


html



css



JS


  • js的基本类型有哪些?引用类型有哪些?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
    空值(null)、
    未定义(undefined)、
    布尔值(boolean)、
    数字(number)、
    字符串(string)、
    对象(object)、
    符号(symbol,ES6中新增)

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

// 主要用于检测引用类型(左边是对象,右边是函数.根据对象的原形链往上找,如果原形链上有右边函数.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

ES6



框架


  • 简述 vue 工作流程

/**
* 1 数据劫持 2 编译模板
* 1 数据劫持 就是 Object.defineProperty 方法,他有get set 方法,get取数据 set设置数据 更新数据了会重新编译数据模板
* 2 编译作用是把 vue 模板转为 浏览器的dom展示在页面上,主要做的那就是把模板上绑定的事件转化为一个个监听器,监视用户的动作,执行updata 方法
* 3 获取接口 重置 data时 就触发 数据劫持的set 方法, set 方法调用 监听器的 update 方法
* 4 页面用户输入 操作时 触发对应的事件,事件有对应的监听器 可以调用 监听器的 update 方法更新数据
*/

  • 什么是MVVM,MVC,MVP
  • mvc(agular)
    1 用户输入动作(指令),
    2 指令触发,调用相应的函数方法逻辑,更改数据
    3 数据更改后,通过某种方法(这里是脏治检测)告诉视图更新
  • mvvm(vue)
    就是通过某种方法使 视图(view) 和 数据(model) 建立联系(这里是通过js Object.defineProperty(), 方法建立双向关系)
    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 为啥是函数 不是对象
    第13个问题

  • angluar vue的区别
    https://www.jianshu.com/p/7b7b195e0297

  • vue 和原生的区别

  • vuex 优势
    统一公共属性方法 方便维护
    只提供单一的更改属性的方法 保证维护 溯源的方便(要是多个更改方法会难以维护 溯源)

  • 处理跨域

    开发环境 用热更新插件 配置 地址 node 代理
    生产环境 ngix 配置
    cors 配置

  • 兄弟a b组件之间,点击a组件 出发b的函数

a 触发 this.$emit 给父组件,父组件 用ref.子组件的方法

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

EventBus.$off(channel, {})

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


前端优化


  • 防抖 节流
防抖:  规定一个期限时间,在首次触发事件时,不立即执行回调函数,而是在期限时间后再执行,如果期限时间内回调函数被重复执行,则期限时间重新计时。(100ms 内执行10次,按最后一次的的时间,在延时执行,函数执行需要 一段时间)
节流: 一段时间只执行一次,执行多次按最后一次计算(100ms 内执行10次,只执行最后一次)

https://www.jianshu.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为标准  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系统
  // 引入fastclick 做相关处理
  document.addEventListener('DOMContentLoaded', function () {
    FastClick.attach(document.body)
  }, false)
} else {
// 苹果版本 11 以上已经处理了延时
  if (parseInt(ver[1]) < 11) {
    // 引入fastclick 做相关处理
    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/', // 这个是服务器的访问路径配置
  ...
  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



算法



面试题



打包工具


代码管理

--

职业规划



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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,884评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,212评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,351评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,412评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,438评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,127评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,714评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,636评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,173评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,264评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,402评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,073评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,763评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,253评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,382评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,749评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,403评论 2 358

推荐阅读更多精彩内容