- this 指向:
this关键字在 JavaScript 中指向调用该函数的对象。闭包是因为 JavaScript 中的函数可以访问其定义时所处的作用域链,而不是调用时所处的作用域链。 - ES6 新特性:ES6引入了许多新特性,包括箭头函数、let 和 const、解构赋值、模板字符串、Promise、class 等。
- var、let、const:它们都是声明变量的关键字,但在作用域、变量提升、重复声明等方面有所不同。
var存在变量提升和全局作用域问题,而let和const不存在变量提升,并且有块级作用域,const声明的变量是常量,不可修改。 - Promise 原理:Promise 是一种异步编程的解决方案,其核心是解决回调地狱的问题,通过链式调用的方式来处理异步操作。
- 浏览器从输入到页面渲染的过程:主要包括 DNS 解析、建立 TCP 连接、发送 HTTP 请求、服务器处理请求并返回响应、浏览器解析 HTML、构建 DOM 树、解析 CSS、构建渲染树、布局和绘制等步骤。
- 强缓存和协商缓存:强缓存通过设置响应头来告诉浏览器可以直接使用本地缓存,而协商缓存则是在本地缓存失效时,通过与服务器通信来确定是否需要使用缓存。
- Vue 和 React 的区别:Vue 更注重于简单性和易用性,而 React 更加灵活,并且有更大的生态系统和更好的性能。
- Vue2 和 Vue3 的区别:Vue3 在性能、体积、响应式系统等方面进行了优化,并引入了 Composition API,使得代码更加灵活可维护。
- Vue 和 React 的相同点:它们都是流行的前端框架,都采用了组件化的开发方式,并且都有着良好的社区支持和文档。
- 虚拟 DOM:虚拟 DOM 是将真实 DOM 结构抽象成 JavaScript 对象,并在内存中进行操作,通过比较新旧虚拟 DOM 的差异,最小化页面重绘和重新布局的开销。
- Diff 算法:Diff 算法是虚拟 DOM 实现更新的核心算法,通过比较两棵树的差异,将更新操作应用到真实 DOM 上。
- HTTPS:HTTPS 是基于 SSL/TLS 协议的加密传输协议,通过对数据进行加密和认证,保证了数据传输的安全性。
- HTTP/2.0:HTTP/2.0 是 HTTP 协议的新版本,主要提供了多路复用、头部压缩、服务器推送等功能,以提高性能和效率。
- 打包工具:除了 webpack 外,还有 Parcel、Rollup 等打包工具,它们各有特点和适用场景。
- Webpack 原理:Webpack 是一个模块打包工具,通过 loader 和 plugin 的机制,将各种资源模块打包成静态资源。
- Vite 原理:Vite 是一种基于浏览器原生 ES 模块导入的开发服务器和构建工具,利用浏览器的本地编译能力,实现了快速的冷启动和热更新。
- 解决白屏问题:可以通过代码拆分、预加载、懒加载等手段来优化页面加载速度,减少白屏时间。
- 首屏优化方案:包括减少 HTTP 请求、压缩资源、使用 CDN、优化图片、懒加载等手段来加速首屏加载。
基础学习:
前端最基础的就是 HTML , CSS 和 JavaScript 。
网页设计:HTML和CSS基础知识的学习
HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。
CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。
动态交互:JavaScript基础的学习
JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。