web前端面试总结

1.js的thes指向
2.箭头函数
3.改变thes指向
4.虚拟DOM是如何工作的
5.受控组件和非受控组件
6.生命周期
7.跨域
8.setState
9.react下标
10.react循环

2次

1.css 居中

2.react 生命周期

Mounting(挂载)、Updating(更新)、Unmounting(卸载)

  1. 挂载卸载过程
    1.1.constructor()
    1.2.componentWillMount()
    1.3.componentDidMount()
    1.4.componentWillUnmount ()
  2. 更新过程
    2.1. componentWillReceiveProps (nextProps)
    2.2.shouldComponentUpdate(nextProps,nextState)
    2.3.componentWillUpdate (nextProps,nextState)
    2.4.componentDidUpdate(prevProps,prevState)
    2.5.render()
  3. React新增的生命周期(个人补充)
    3.1. getDerivedStateFromProps(nextProps, prevState)
    3.2. getSnapshotBeforeUpdate(prevProps, prevState)

BOM和DOM 区别

首先我们来分别看一下bom和dom的概念。

1、BOM是浏览器对象模型

提供了独立于内容而与浏览器窗口进行交互的对象。描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本,对Cookie的支持,IE还扩展了BOM,加入了ActiveXObject类,可以通过js脚本实例化ActiveX对象等等)

2、DOM是文档对象模型

DOM是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。

看完了js中bom和dom的概念后,我们应该可以很容易就能够总结出关于js中bom和dom的区别。

js中bom和dom的区别之一:

1、BOM是Browser Object Model的缩写,即浏览器对象模型。

BOM和浏览器关系密切。浏览器的很多东西可以通过JavaScript控制的,例如打开新窗口、打开新选项卡(标签页)、关闭页面,把网页设为主页,或加入收藏夹,等等…这些涉及到的对象就是BOM。

2、DOM是Document Object Model的缩写,即文档对象模型。

DOM和文档有关,这里的文档指的是网页,也就是HTML文档。网页是由服务器发送给客户端浏览器的,无论用什么浏览器,接收到的HTML都是一样的,所以DOM和浏览器无关,它关注的是网页本身的内容。由于和浏览器关系不大,所以标准就好定了。

js中bom和dom的区别之二:

1、BOM没有相关标准。

由于没有标准,不同的浏览器实现同一功能,可以需要不同的实现方式。对于上面说的功能,不同的浏览器的实现功能所需要的JavaScript代码可能不相同。

2、DOM是W3C的标准。

既然有标准了,大家就要按标准来了。

js中bom和dom的区别之三:

1、BOM的最根本对象是window。

2、DOM最根本对象是document(实际上是window.document)。

es6 新特性

https://es6.ruanyifeng.com/
阮一峰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023年的中级web前端面试可能会涉及以下方面的问题。 首先,对HTML、CSS以及JavaScript的掌握程度是面试中非常重要的考察内容。面试官可能会问到HTML5的新特性、语义化标签的使用、CSS的盒模型以及布局技术、JavaScript的原型链和作用域链等方面的知识。 接着,面试官可能会关注前端框架和库的使用经验。在2023年,React、Vue等框架可能仍然是主流,因此对这些框架的了解和使用经验会是加分项。此外,对TypeScript、Webpack等工具的熟练程度也会受到关注。 此外,面试官可能会询问关于性能优化方面的知识。了解如何减少HTTP请求、优化代码、使用懒加载、合理使用缓存等将展示你对Web性能优化的理解和实践经验。 另外,对于跨域问题和安全性的了解也是重要的考察内容。面试官可能会问到如何实现跨域请求和如何防范XSS和CSRF攻击等问题。 最后,展示你的项目经验也是非常重要的。你可以讲述自己曾经参与的项目中所承担的角色和所面临的挑战,以及如何解决这些挑战的过程。同时,如果有个人的开源项目或者参与过的开源项目,也可以在面试中提及,以展示你在技术社区的贡献和积极参与。 这些只是可能在2023年中级web前端面试中出现的一些问题,具体情况还需根据该时期的行业动态和公司需求来确定。因此,在面试前要认真准备,深入学习相关知识,并积极实践和总结自己的经验,以提升自己在面试中的竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值