前端面试题(二),不断完善中。。。
发布日期:2021-06-27 14:32:31 浏览次数:3 分类:技术文章

本文共 3025 字,大约阅读时间需要 10 分钟。

  1. vue中,若在组件中定义一个变量,然后又从mixin中引入相同的变量,请问生效的是哪一个

    生效的是组件中的变量,
    可参考:

  2. promise与setimeout的与执行顺序问题

    promise内部的function立即执行
    (js是单线程语言,但js的宿主环境(比如浏览器,Node)是多线程的,宿主环境通过某种方式(事件驱动,)使得js具备了异步的属性。可参考 : )

  3. promise.all的使用

  4. vue的data里面的值是数组时,在更改其某一项的时候,怎么触发视图的重新渲染?

    1) 设置对象或数组的值:Vue.set(target,key,value) ;
    2)删除对象或数组中元素: Vue.delete ( target,key) ;
    3)数组对象直接修改属性,可以触发视图更新:
    this.array[0].show = true;
    4)splice方法修改数组,可以触发视图更新:
    this.array.splice(indexOfItem, 1, newElement)
    5)数组整体修改,可以触发视图更新:
    var tempArray = this.array;
    tempArray[0].show = true;
    this.array = tempArray;
    6)用Object.assign或lodash.assign可以为对象添加响应式属性,
    可以触发视图更新:
    7)Vue提供了如下的数组的变异方法,可以触发视图更新:
    push()/pop()/shift()/unshift()/splice() /sort()/reverse()

  5. var a= 10; var a ; 变量提升

    console.log(a) ; //10

  6. 简述less 和 sass预编译及作用

  7. 如何让一行分隔为4: 5:3的布局

    1)css3新特性 : cale函数, 比例
    2)flex布局

  8. 列举一下使用的Less和Sass中的函数,声明变量

  9. 清除浮动

  10. flex布局四个盒子超出屏幕宽度后,占据一行,

  11. flex布局2个盒子靠边,固定宽度,一个盒子自适应

  12. h5中,浏览器中,多个请求和多个静态文件一起, 给如何进优化

  13. webpack打包中,静态资源,一般分为几个部分

  14. 盒子模型中,w3c标准和ie6中,宽度width的定义

  15. flex布局,4个元素的排列,相关属性

  16. H5多个请求和多个静态文件在一起,该如何进行优化

  17. map和foreach的区别

  18. 判断类型的方法

    typeof, instanceof, Object.keys

  19. 如何判断一个对象为空

    object.keys

  20. 利用webpack打包一个项目, 单页面和多页面分别如何打包?

  21. 盒子模型

    content , padding , border, margin

  22. 状态码(200,400,500等)

    200:请求成功
    400:服务器未能理解请求,401:需输入用户名及密码,403:访问的页面被禁止
    500:请求为完成,服务器遇到不可预知的情况

  23. 项目中遇到的难点,及怎么解决的

  24. vue中params 和query传参的区别

  25. 为什么一个div(44px)包裹一个图片(40px)时,底部会有空白,而置顶

    vertical-align属性

  26. axios(ajax) 的底层实现原理

  27. 如何用css画出水滴形状

  28. 缓存的使用,cookie,session,localStorage,localStorage

  29. vue中的权限控制的实现

    参考:

//按1-5评估难度,5最大

  1. vue中scoped实现原理,穿透方法(3)
    Vue中的scoped属性的效果主要是通过PostCss实现的。
    给HTML的dom节点添加一个不重复的data属性(例如: data-v-5558831a)来唯一标识这个dom 元素

stylus的样式穿透 使用>>> ,

sass和less的样式穿透 使用/deep/

  1. computed和watch的使用场景,区别(5)

watch :当我们需要在数据变化时执行异步或开销较大的操作时,应该使用 watch,使用watch选项允许我们执行异步操作 ( 访问一个 API ),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这些都是计算属性无法做到的。该数据可以影响多个结果。

computed :当我们需要进行数值计算,并且依赖于其它 数据时,应该使用 computed,因为可以利用 computed 的缓存特性,避免每次获取值时,都要重新计算;可以理解为一个结果受到多个因素的影响。

  1. Vue中如何监听键盘事件中的按键(3)
    在Vue中,已经为常用的按键设置了别名,
    全部的按键别名:

别名 实际键值

.delete delete(删除)/BackSpace(退格)
.tab Tab
.enter Enter(回车)
.esc Esc(退出)
.space Space(空格键)
.left Left(左箭头)
.up Up(上箭头)
.right Right(右箭头)
.down Down(下箭头)
.ctrl Ctrl
.alt Alt
.shift Shift
.meta (window系统下是window键,mac下是command键)
另外,Vue中还支持组合写法:

组合写法 按键组合

@keyup.alt.67=”function” Alt + C
@click.ctrl=”function” Ctrl + Click

  1. http 401,axios拦截器(2)

  2. router中push()和replace()区别(1)

  3. v-model修饰符,作用(1)

  4. 插槽的理解,作用(2)

  5. 前端内存泄漏的理解,闭包会造成内存泄露吗?为什么(5)

  6. 非父子组件之间的通信(1)

  7. Vue项目实现登录,需携带token(3)

  8. Vue点击按钮动态添加、删除组件(4)

  9. Vuex中actions的理解(1)

  10. Vue中嵌入网页(2)

  11. H5嵌入微信小程序 (4)

  12. Vue对象中的属性赋值后视图没有更新

  13. r o u t e r 和 router和 routerroute区别

  14. Vue中data为什么要return

不使用return包裹的数据会在项目的全局可见,会造成变量污染;使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件

  1. 路由中query传对象,格式

  2. 前端鉴权方式

  3. Vue实现动态路由

  4. Vue项目中为什么要用路由懒加载?怎么使用路由懒加载

  5. 使用场景,生命周期的变化(3)

  6. 动态路由

  7. 前置/后置/全局导航守卫 , 路由拦截

//JS

55. ForEach()和map()的区别(3)
map 的返回值为数组,forEach的返回为undefined
map 不会改变原数组,forEach 可以改变

  1. 对this的理解(3)

  2. 解释变量提升,函数提升(3)

  3. 如何判断对象是否为空,多种方法(1)

  4. async/await的使用(4)

  5. 防抖节流原理、实现

  6. 高阶函数

  7. BOM

  8. 如何获取浏览器参数

  9. 箭头函数和普通函数的区别

  10. 字符串可以遍历吗?如何遍历

  11. 手动实现promise

  12. 深拷贝的多种实现方式

    JSON.parse(JSON.stringfy())
    object.assign() 浅拷贝
    … 扩展运算符 浅拷贝

  13. 闭包的使用场景

  14. xss 攻击及处理

  15. 前端安全

转载地址:https://blog.csdn.net/weixin_43799793/article/details/102562228 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:webpack4打包多文件
下一篇:JS中数组的常用方法

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月12日 08时31分57秒