银行外包前端面试题答案分享
银行外包前端面试题答案分享。
冒泡/捕获:
冒泡(Bubbling)是指事件从最内层的元素开始逐级向外传播到最外层元素的过程。
捕获(Capturing)是指事件从最外层元素向内逐级传播到最内层元素的过程。
闭包的理解:
闭包是指在函数内部可以访问其外部作用域的变量,即使外部函数已经执行完毕,闭包仍然可以访问和操作外部函数的局部变量。闭包可以用来创建私有变量、实现模块化等。
this 的指向 / 如何改变 this 指向:
this 指向在 JavaScript 中是动态的,它取决于函数的调用方式。
可以使用 call(), apply(), bind() 来显式地改变函数内部的 this 指向。
箭头函数的 this 是词法上绑定的,指向定义时所在的作用域。
原型的理解:
在 JavaScript 中,每个对象都有一个原型对象,通过原型链连接在一起。原型对象可以包含共享的属性和方法,使得多个对象可以共享这些属性和方法,提高了代码的复用性。
盒模型:
盒模型是指在网页布局中,每个 HTML 元素都被看作一个矩形的盒子,包含内容区、内边距、边框和外边距四个部分。
协商缓存/强缓存:
强缓存是指浏览器在请求资源时,直接从本地缓存中获取资源,不发送请求到服务器。
协商缓存是指浏览器发送请求到服务器,服务器根据资源的状态来判断是否返回新的资源,如果资源未改变,则返回 304 Not Modified 状态码,浏览器从本地缓存中获取资源。
伪类/伪元素:
伪类是指向元素的特定状态应用样式,如 :hover, :focus。
伪元素是创建一个不在 DOM 树中的虚拟元素,并为其应用样式,如 ::before, ::after。
Vue2 和 Vue3 响应式的区别:
Vue3 使用了 Proxy 替代了 Vue2 中的 Object.defineProperty 来实现响应式。
Vue3 在性能上有一定的提升,同时支持了更多的特性和语法糖。
Vue 组件间通信方式:
props / $emit
EventBus
Vuex(用于大型应用)
Http1 和 Http2 的区别:
Http1 是基于文本的协议,请求和响应都是明文传输,每个请求都需要建立新的 TCP 连接。
Http2 是二进制协议,支持多路复用,头部压缩,服务器推送等特性,提高了性能和效率。
CSS 居中:
水平居中:margin: 0 auto;
垂直居中:position: absolute; top: 50%; transform: translateY(-50%);
Vue 权限怎么做?
可以使用路由守卫、后端返回权限标识等方式进行权限控制。
TS 如何声明一个变量并给出类型定义?
let myVariable: string = "Hello";
解释一下 TS 的类型推断:
TypeScript 的类型推断是指编译器在没有明确指定类型的情况下,根据变量的使用上下文自动推断出变量的类型。例如,当你声明一个变量并赋值为字符串时,TypeScript 会推断该变量的类型为字符串类型。
更新于:3个月前相关文章
- 前端开发有必要学习Blazor吗?
- 前端js拖拽插件库有哪些?
- 尤雨溪成立VoidZero 成前端开发主流框架
- 前端CSS常见的三种设计模式
- 10个c#基础面试题和答案
- c#控制反转常见面试题
- .NET 常见的20个面试题
- react前端基础面试题和答案
- .NET初级程序员面试题和答案
- 2023年.NET常见面试题和答案
- 2024年最新.NET(C#)面试题
- .NET C#委托和事件常见面试题
- 前端开发和后端开发的区别?
- 2023年前端还需要学jQuery吗?
- 给前端程序员的10条建议
- 前端学react还是vue?
- 2023年主流前端框架怎么选?
- 2023年前端还有必要学jquery吗?
- 前端有必要学TypeScript吗?
- 开源的Web前端项目Nue JS用法