【前端面试必备】每天进步一点点(主要关于Vue)

❤ 写在前面

如果觉得对你有帮助的话,点个小❤❤ 吧,你的支持是对我最大的鼓励~
个人独立开发wx小程序:AI私厨,需要使用wx打开,感谢支持!



前言

结合最近的面试,整理了一下 初中级前端开发工程师,会问到的前端问题,希望对你有帮助~


一、js数据类型

基本数据类型
Number、String、Boolean、Null、Undefined、Symbol、bigInt
引用数据类型
object、Array、Date、Function、RegExp

二、Vue2和Vue3的区别

  1. Vue2 ES5的objective.definePropert()对数据进行劫持结合发布订阅模式来实现的数据双向绑定。 Vue3 使用了 es6 的 ProxyAPI 对数据代理。
  2. Vue3支持组件拥有多个根节点
  3. API类型不同
  4. 生命周期不同
  5. 父子传参不同
  6. 定义变量与方法不同
  7. 指令与插槽不同
  8. main.js文件不同

三、组件传值

父组件通过props将属性值传递给子组件。

子组件要给父组件传递消息可以通过$emit()调用父组件定义的方法

四、watch和computed的区别

watch主要是监听数据变化,可以监听数据来源的三个部分:props,data,computed内的数据,然后它还提供两个参数(new,old),顺序一定是新值、旧值。

computed主要是处理逻辑运算,computed来存储需要处理的数据值,它有存储的机制,只有改变时才执行

五、Vue双向绑定

双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变

就是用这个方法来定义一个值。当调用时我们使用了它里面的get方法,当我们给这个属性赋值时,又用到了它里面的set方法

六、闭包是什么

闭包就是能够读取其他函数内部变量的函数,闭包基本上就是一个函数内部返回一个函数

好处
可以读取函数内部的变量
将变量始终保持在内存中
可以封装对象的私有属性和私有方法
坏处
比较耗费内存、使用不当会造成内存溢出的问题

七、项目性能优化

减少 HTTP 请求数
减少 DNS 查询
使用 CDN
避免重定向
图片懒加载
减少 DOM 元素数量
减少 DOM 操作
使用外部 JavaScript 和 CSS
压缩 JavaScript、CSS、字体、图片等
优化 CSS Sprite
使用 iconfont
多域名分发划分内容到不同域名
尽量减少 iframe 使用
避免图片 src 为空
把样式表放在 link 中
把 JavaScript 放在页面底部
(至少回答到7,8条吧)

八、es6了解多少

新增模板字符串
箭头函数
for-of(用来遍历数据—例如数组中的值。)
ES6 将 Promise 对象纳入规范,提供了原生的 Promise 对象。
增加了 let 和 const 命令,用来声明变量。
还有就是引入 module 模块的概念

let 命令不存在变量提升,如果在 let 前使用,会导致报错
如果块区中存在 let 和 const 命令,就会形成封闭作用域
不允许重复声明
const定义的是常量,不能修改,但是如果定义的是对象,可以修改对象内部的数据

九、闭包

闭包就是能够读取其他函数内部变量的函数
闭包基本上就是一个函数内部返回一个函数
好处
可以读取函数内部的变量
将变量始终保持在内存中
可以封装对象的私有属性和私有方法
坏处
比较耗费内存、使用不当会造成内存溢出的问题

十、== 和 === 的区别

== 是非严格意义上的相等,值相等就相等
=== 是严格意义上的相等,会比较两边的数据类型和值大小,值和引用地址都相等才相等

十一、内存泄漏

定义:程序中已动态分配的堆内存由于某种原因程序未释放或无法释放引发的各种问题。
js中可能出现的内存泄漏情况:变慢,崩溃,延迟大等
js中可能出现的内存泄漏原因
(1)全局变量
(2)dom 清空时,还存在引用
(3)定时器未清除
(4)子元素存在引起的内存泄露

十二、script 引入方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JS Lover

我会尽最大努力分享更多开发经验

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值