前端常见面试题②

1、CORS 代表什么以及它解决什么问题?

CORS 代表跨源资源共享。它是一种机制,允许从资源来源域之外的另一个域请求网页上的资源。CORS 解决了浏览器强制执行的同源策略,该策略可防止脚本出于安全原因向不同域发出请求。

2、Prop 和 State 有什么区别?

props 和 state 都是 React 组件中使用的普通 JavaScript 对象。props 从父组件传递到子组件,用于组件内不会更改的数据。另一方面,状态在组件本身内进行管理,并且可以使用 setState 方法进行更新。props 是不可变的,而 state 可以更新。

3、React 组件中有哪些生命周期方法?

React 组件中的一些常见生命周期方法包括 componentDidMount、componentWillMount、componentWillUpdate、componentDidUpdate、shouldComponentUpdate 和 componentWillReceiveProps。

这些方法允许您在组件生命周期的不同阶段执行操作,例如初始化数据、更新 UI 或处理 prop 更改。

4、解释一下 function Person(){}、var person = Person() 和 var person = new Person() 之间的区别。

function Person(){} 正在声明一个函数。

var person = Person() 将 Person 函数的引用分配给 person 变量。

var person = new Person() 使用“new”关键字创建 Person 类的新实例。

5、剩余运算符和扩展运算符有什么区别?

剩余运算符(例如,…args)允许您将不定数量的参数表示为数组。当使用可变参数函数或处理可变数量的函数参数时,它非常有用。

扩展运算符(例如,...array)允许您将数组扩展为单个元素。当您想要将数组作为单独的参数传递给函数或基于现有数组创建新数组时,它会很方便。

6、解释let、var和const之间的区别

let 和 const 是在 ES6 中引入的,而 var 从 JavaScript 的早期版本开始就可用了。

let 和 const 具有块作用域,这意味着它们仅限于声明它们的块(例如,在大括号内)。var 具有函数作用域,这意味着它可以在声明它的整个函数中访问。

const 与 let 类似,但用于在初始分配后不应重新分配的变量。

7、“重置”和“规范化”CSS 有什么区别?你会选择哪个,为什么?

重置 CSS 会删除每个元素的所有样式,包括边距、填充和其他属性。它提供了一个干净的状态,并确保不同浏览器之间的启动样式一致。

规范化 CSS 的目的是通过应用一组预定义的样式,使元素在浏览器中呈现一致。它为样式提供了一致的基线,并有助于减少浏览器的不一致。

重置 CSS 还是规范化 CSS 之间的选择取决于项目的要求和偏好。重置使您可以完全控制样式,但需要重新设置每个元素的样式。

规范化提供了更一致的基础,但可能需要额外的自定义才能满足您的设计要求。

8、描述块格式化上下文 (BFC) 及其工作原理

块格式上下文 (BFC) 是网页视觉 CSS 渲染的一部分。它是块级盒子布局发生的区域,并且浮动体彼此交互。

当某些 CSS 属性(例如浮动、位置、溢出和显示)应用于元素时,就会创建 BFC。BFC 有助于实现可预测且一致的布局,特别是在处理复杂的定位和浮动元素时。

9、匿名函数的典型用例是什么?

匿名函数,也称为函数表达式,是在没有指定名称的情况下定义的函数。它们通常用于需要一个函数作为另一个函数的参数的情况或创建自调用函数时。

匿名函数允许更简洁的代码,并且可以通过使函数定义更接近其用法来帮助提高代码可读性。

10、“属性”和“属性”有什么区别?

属性用于定义 HTML 元素的特征,例如 id 和类。另一方面,属性会更新 DOM 元素本身,例如其类型或值。

你可能感兴趣的:(前端,面试,javascript)