面试一

1.怎么设置12px一下的字体

使用transform:scale(0.8);

2.css的盒子模型,用哪个属性是切换盒模型的

box-sizing:content-box|border-box

3.rem,em,px,vw,vh单位的区别?

rem相对于html的font-size:改变而改变,em相对于父级容器的font-size而改变,vw相对与屏幕的宽度1%

4.Vue中有时改变了值但是没有渲染怎么解决?

vue.$set(obj,propo,val);//第一个参数:修改的对象,第二个参数:想改的属性,第三个参数,修改的值

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

一般使用index当作key的值,但是有时使用index会影响渲染效率,key的作用主要是为了高效的更新虚拟DOM

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

模板字符串,箭头函数,扩展运算符,块级作用域,promise,模块import,export,解构赋值

7.js中的数据类型,怎么判断是什么类型的 ?

字符串用typeof,数组用intranceof(),判断构造函数是否在实例的prototype上

8.前端的页面优化?

1.减少http请求
2.压缩js,css

  1. 减少dom操作

9.事件防抖节流?

防抖:
给一个定时器,当定时器结束时执行逻辑代码,并清除定时器,当定时器没有结束,再次触发后清楚定时器,并重新开始定时器

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)
}

节流:
定时器:

const on = Vue.prototype.$on
  
// 节流
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中怎么实现事件委托

在父级中绑定事件在事件中使用e.target.nodeName

11.html5离线存储有几种方式?他们有什么区别?

localStorage.sessionStorage,cookies,离线储存manifest,cache那些文件需要缓存

12.移动端时经常会碰到设配问题,你怎么解决不懂屏幕的适配问题

动态的设置html的font-size值,在页面中除了文字大小其他的用rem,设置视口与设备的宽度相同

13.v-if与v-show的区别?

v-if一般是作为条件渲染时使用,当有不同的条件显示不同的页面时可以使用,不显示的东西在dom中找不到
而v-show只是控制dom的display变为none

14.http状态码?200,300,400,500

200:成功
301:永久重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL
302:临时行重定向,表示请求的资源被分配了新的url,本次访问使用新的URL
303:表示请求的资源被分配了新的URL,应使用GET方法定向获取资源
304:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;
307:与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);
400:请求报文中存在语法错误
401:未经许可,需要通过http认证
403:服务器拒绝该次访问
404:表示服务器上无法找到请求的资源
500:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
503:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

15.webpack中的plugins与loader的区别是什么?

loader :loader 用于对模块的源代码进行转换。loader 可以使你在 import 或"加载"模块时预处理文件。因此,loader 类似于其他构建工具中“任务(task)”,并提供了处理前端构建步骤的强大方法。loader 可以将文件从不同的语言(如 TypeScript)转换为 JavaScript,或将内联图像转换为 data URL。loader 甚至允许你直接在 JavaScript 模块中 import CSS文件!

总结区别

1 .文档定义loader为在模块加载时的预处理文件,故loader运行在打包文件之前。
2 . plugins的定义为处理loader无法处理的事物,例如loader只能在打包之前运行,但是plugins在整个编译周期都起作用。

16.uniapp中的.nvue 与.vue区别

在App端,如果使用vue页面,则使用webview渲染;如果使用nvue页面(native vue的缩写),则使用原生渲染。一个App中可以同时使用两种页面

18.vue中数据绑定的原理是什么?怎么实现的数据渲染

VUE实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的。

19.浏览器输入url按下回车后会怎么样?

20.什么是闭包,闭包会出现什么问题?怎么手动清除内存泄露

闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。

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

git clone 
git pull
git push 
git branch //查看分支
git branch name 创建分支
git checkout -b name 创建并切换分支

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

推荐阅读更多精彩内容

  • 父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...
    JonesCxy阅读 1,004评论 1 7
  • • 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复制,产生一个新的指向...
    WSGNSLog阅读 1,254评论 0 1
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,082评论 0 2
  • 序号 问题 1 自我介绍 2 知道的集合类有哪些 List set map 3 String、StringBuff...
    zhihaoZzz阅读 368评论 0 2
  • 在四种性格里面,复合难度同样很高的,还有蓝色性格,原因是因为蓝色性格在进入一段感情之前是经过深思熟虑的,考虑过种种...
    胶州宝龙甘丽娜阅读 131评论 0 0