首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分享63个最常见的前端面试题及其答案

主要区别在于如何将参数传递给函数。在 call 中,后续参数是单独传递的,而 apply 期望第二个参数是一个数组,该数组被解包为被调用函数的参数。 08、什么是hoisting?...本机对象(如数组字符串)是 ECMAScript 规范的一部分,它们的行为由语言本身定义。 22、解释可变对象和不可变对象之间的区别。JavaScript 中不可变对象的示例是什么?...JavaScript 中不可变对象的一个例子是字符串。 不变性的优点包括更简单的代码和更容易的调试,而缺点包括潜在的内存开销。不变性可以通过避免直接修改并使用对象克隆或函数式编程等技术来实现。...高阶函数是一种采用一个多个函数作为参数和/或返回一个函数作为其结果的函数。它允许编程具有更大的灵活性和模块化。 26、经典继承和原型继承有什么区别?...类型强制是 JavaScript 中值从一种类型自动转换为另一种类型。typeof 是一个一元运算符,它返回一个指示操作数类型的字符串。instanceof 用于检查对象是否是特定构造函数的实例。

4.5K20

分享 63 道最常见的前端面试及其答案

主要区别在于如何将参数传递给函数。在 call 中,后续参数是单独传递的,而 apply 期望第二个参数是一个数组,该数组被解包为被调用函数的参数。 08、什么是hoisting?...本机对象(如数组字符串)是 ECMAScript 规范的一部分,它们的行为由语言本身定义。 22、解释可变对象和不可变对象之间的区别。JavaScript 中不可变对象的示例是什么?...JavaScript 中不可变对象的一个例子是字符串。 不变性的优点包括更简单的代码和更容易的调试,而缺点包括潜在的内存开销。不变性可以通过避免直接修改并使用对象克隆或函数式编程等技术来实现。...高阶函数是一种采用一个多个函数作为参数和/或返回一个函数作为其结果的函数。它允许编程具有更大的灵活性和模块化。 26、经典继承和原型继承有什么区别?...类型强制是 JavaScript 中值从一种类型自动转换为另一种类型。typeof 是一个一元运算符,它返回一个指示操作数类型的字符串。instanceof 用于检查对象是否是特定构造函数的实例。

18130
您找到你想要的搜索结果了吗?
是的
没有找到

React基础(3)-不可不知的JSX

川川 itclanCode itclanCode **JSX子元素嵌套** 在React中,子元素允许由多个...作为表达式.png **函数作为子元素** {}插值表达式内可以可以变量,字符串,普通HTML元素,甚至可以是组件,还可以是函数 import React from 'react'; //...React组件 如果你定义的一个组件首字母是小写,react就会当做一个普通元素来处理,而原生HTML标签并没有把你自定义的元素归纳进去,它是会报错的 例如:如下所示 import React from...代码作用域内 引入React库一部分目的就是为了识别JSX语法的,这也是为什么只要你定义一个React组件时,要引入React库的原因 使用点(.)语法 有时候,在一个模块中需要导出多个React组件时...,可以嵌套,以及js表达式,函数都可以作为子元素 并且在React中组件的定义以及调用处,组件名称首字母必须要大写,当导出多个React组件时,使用点语法来引用一个React组件 使用展开运算符 ...

1.8K10

React深入】深入分析虚拟DOM的渲染过程和特性

在原生的 JavaScript程序中,我们直接对 DOM进行创建和更改,而 DOM元素通过我们监听的事件和我们的应用程序进行通讯。...而 React会先将你的代码转换成一个 JavaScript对象,然后这个 JavaScript对象再转换成真实 DOM。这个 JavaScript对象就是所谓的虚拟 DOM。...1.获取子元素的个数 —— 第二个参数后面的所有参数 2.若只有一个元素,赋值给 props.children 3.若有多个元素,将子元素填充为一个数组赋值给 props.children (3)....如果你的服务器有一个漏洞,允许用户存储任意 JSON对象, 而客户端代码需要一个字符串,这可能会成为一个问题: // JSONlet expectedTextButGotJSON = { type:...如果你的服务器有一个漏洞,允许用户存储任意 JSON对象, 而客户端代码需要一个字符串,这可能为你的应用程序带来风险。

2.2K31

React学习(三)-不可不知的JSX

函数作为子元素 {}插值表达式内可以可以变量,字符串,普通HTML元素,甚至可以是组件,还可以是函数 import React from 'react'; import ReactDOM from '...,以后更多的使用的还是Es6的class JSX标签的第一部分指定了React元素的类型 凡是大写字母开头的JSX标签元素,就意味着它们是React组件 如果你定义的一个组件首字母是小写,React就会当做一个普通元素来处理...,所以React库也必须包含在JSX代码作用域内 引入React库一部分目的就是为了识别JSX语法的,这也是为什么只要你定义一个React组件时,要引入React库的原因 使用点(.)语法 有时候,在一个模块中需要导出多个...对于数组对象,可以通过map方法进行输出,然而假如是对象的话,却是没有这个方法的 具体使用的是Object.keys(对象)这个方法,它会返回一个数组,并且将对象的属性名保存在一个数组中,如果是要获取对象的属性值...,组件名称首字母必须要大写,当导出多个React组件时,使用点语法来引用一个React组件 使用展开运算符 ...在JSX中传递整个props对象 某些时候,是一个非常有用的语法,另外,当遍历要渲染的是一对象时

1.3K30

JavaScript 又出新特性了?来看看这篇就明白了

4.正则表达式命名捕获组 JavaScript 正则表达式可以返回一个匹配的对象——一个包含匹配字符串的类数组,例如:以 YYYY-MM-DD的格式解析日期: const reDate = /([0-...2.更加友好的 JSON.stringify 如果输入 Unicode 格式但是超出范围的字符,在原先 JSON.stringify 返回格式错误的 Unicode 字符串。...Array.prototype.flat() flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素并为一个数组返回。...() flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个数组。...它生成一个具有两个元素的类似数组的对象,第一个元素是将用作属性键的值,第二个元素是与该属性键关联的值。

1.5K20

ES7、ES8新特性

它是一个替代indexOf,开发人员用来检查数组中是否存在值,indexOf是一种尴尬的使用,因为它返回一个元素数组中的位置或者-1当这样的元素不能被找到的情况下。...在ES6,要检查是否存在值,你需要做一些判断,因为他们没有匹配到值,Array.prototype.indexOf返回-1变成了true(转换成true),但是当匹配的元素为0位置时候,该数组包含元素,...]获取value值返回一个数组。...Object.entries(x)强制转换x为对象,并以数组的方式返回其可枚举的自定义字符串。...String.prototype.padStart 和 String.prototype.padEnd在javascript字符操作是一个不错的体验,引入padStart 和 padEnd,可以使开发人员更好地控制字符串原语

3.5K50

ES7和ES8新特性介绍

它是一个替代indexOf,开发人员用来检查数组中是否存在值,indexOf是一种尴尬的使用,因为它返回一个元素数组中的位置或者-1当这样的元素不能被找到的情况下。...在ES6,要检查是否存在值,你需要做一些判断,因为他们没有匹配到值,Array.prototype.indexOf返回-1变成了true(转换成true),但是当匹配的元素为0位置时候,该数组包含元素,...]获取value值返回一个数组。...Object.entries(x)强制转换x为对象,并以数组的方式返回其可枚举的自定义字符串。...String.prototype.padStart 和 String.prototype.padEnd在javascript字符操作是一个不错的体验,引入padStart 和 padEnd,可以使开发人员更好地控制字符串原语

5.4K60

ReactJS简介

这样,在保证性能的同时,开发者将不再需要关注某个数据的变化如何更新到一个多个具体的DOM元素,而只需要关心在任意一个数据状态下,整个界面是如何Render的。...如果一个组件内部创建了另一个组件,那么说父组件拥有(own)它创建的子组件,通过这个特性,一个复杂的UI可以拆分成多个简单的UI组件。...与此同时,推荐在 JSX 代码的外面扩上一个小括号,这样可以防止 分号自动插入 的bug。 上面我们声明了一个names数组,然后遍历names数组在前面加上Hello,生成了element数组。...JSX 允许直接在模板插入 JavaScript 变量。如果这个变量是一个数组,则会展开这个数组的所有成员。...组件从概念上看就像是函数,它可以接收任意的输入值(称之为“props”),并返回一个需要在页面上展示的React元素 定义一个组件最简单的方式是使用JavaScript函数,函数定义组件: function

3.8K40

React 中必会的 10 个概念

介绍了基本语法,让我们了解如何将箭头函数与 React 一起使用。除了如上所述定义 React 组件之外,箭头函数在操作数组以及使用异步回调和 Promise 时也非常有用。...模板字符串 模板字符串是允许嵌入 JavaScript 表达式的字符串。换句话说,就是在字符串中输出变量 / 表达式的一种方式。 在ES5中,我们必须使用 + 运算符将多个值连接起来以连接字符串。...在 ES6 中,模板字符串由反引号引起来。要在这些模板中插入表达式,我们可以使用${表达式}。 ? 模板字符串使这种替换更具可读性。在 React 中使用它们将帮助您动态设置组件属性值或元素属性值。...解构 在 React 中非常经常使用解构。这是一个可以与对象以及数组一起使用的概念。分解是简化 JavaScript 代码的一种简便方法,因为它使我们可以在一行中将数据从对象或数组中拉出。...在展开运算符的情况下,它将可迭代扩展为单个元素。对于不定参数,它将其余参数列表收集到一个数组中。 让我们看一些示例,以了解它们如何工作以及如何使用它们。 ?

6.6K30

Web前端-JavaScript基础教程上

null在JavaScript中表示空值,null的typeof运行为字符串object。null为特殊的对象值,含义为非对象。 null类型的唯一一个成语,它表示数字,字符串和对象是“无值”的。...jquery一个对象可以同时绑定多个事件,底层实现原理:addEventListener与attachEvent兼容处理做事件注册。...Jquery.extend 用来扩展 jQuery 对象本身 jquery.fn.extend 用来扩展 jQuery 实例的 如何将数组转换为json字符串,然后换回来?...var str=$("a").attr("href") 将数组转化为 json 字符串 $.fn.stringifyArray = function(array) { return JSON.stringify...效果 事件委托指利用冒泡的原理,自己所要触发的事件,让其他元素取执行。 join()表示用数据中所用元素拼接成字符串。 split()把字符串分割开。

2.2K30

干货 | React 中的 Canvas 动画

三、使用 JavaScript 实现动画 如果计划使用 JavaScript 来进行动画的渲染,基本上都会选用一个渲染框架来将动画内容渲染,来简化我们的渲染操作、提高编码效率,当然也可以直接使用原生 API...由于我们平时多用 React 进行页面的渲染,因此希望尽量避免直接使用 JavaScript 操作 DOM 元素构建动画的容器或内容,更希望把它移植到 React 中。...接下来我们会思考另一个问题——是否能够将两种代码风格合并为一个?毕竟不同代码风格维护起来很难受(简直逼死强迫症),而且 JSX 会更加直观,更符合现在的编码习惯。...下面列出几个比较主要的定义,通过这些定义来看下如何将 React 中的节点转换为 Canvas 中实际绘制的内容的。...function appendInitialChild(parentInstance, child) { // 这边做了一个额外的判断,如果是字符串类型的子节点,则不支持 // (eg <Text

2.9K51

reduce()方法的应用

reduce() 是 JavaScript 数组(Array)对象的一个方法,它接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。...currentValue(必需):数组中正在处理的当前元素。 currentIndex(可选):数组中正在处理的当前元素的索引。如果提供了initialValue,则索引为0,否则从索引1起始。...array(可选):调用reduce()的数组。 initialValue(可选):作为第一次调用callback函数时的第一个参数的值。如果没有提供初始值,则将使用数组中的第一个元素。...在没有初始值的空数组上调用reduce将报错。 reduce() 方法非常适合将数组元素组合成单个输出值,比如求和、求积或者将数组对象合并为单一对象。...: 虽然这可以用 join() 方法更简单地完成,但 reduce() 也可以用来连接数组中的字符串元素

10210

分享近百道JavaScript 基础面试题,帮助你巩固JavaScript 基础知识

JSON.parse() 方法用于解析 JSON 字符串并将其转换为 JavaScript 对象。 26. JavaScript 中如何检查变量是否为数组?...JavaScript 中 push() 方法的用途是什么? push() 方法将一个多个元素添加到数组的末尾并返回数组的新长度。 48. 在 JavaScript 中如何检查变量是否属于特定类型?...事件传播是一个事件被DOM树中的多个元素通过事件捕获或事件冒泡处理的过程。 68. JavaScript 中 concat() 方法的用途是什么?...concat() 方法用于合并两个或多个数组,创建一个包含连接元素的新数组。 69. 如何在 JavaScript 中对数组进行排序? 可以使用 sort() 方法按字母顺序或数字顺序对数组进行排序。...82.在JavaScript如何将字符串转换为特定格式的日期对象?

18110

JavaScript 发展历史中聊 ECMAScript(ES6-ES11) 新功能

4.正则表达式命名捕获组 JavaScript正则表达式可以返回一个匹配的对象——一个包含匹配字符串的类数组,例如:以 YYYY-MM-DD的格式解析日期: const reDate = /([0-9...2.更加友好的 JSON.stringify 如果输入 Unicode 格式但是超出范围的字符,在原先JSON.stringify返回格式错误的Unicode字符串。...Array.prototype.flat() flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素并为一个数组返回。...() flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个数组。...它生成一个具有两个元素的类似数组的对象,第一个元素是将用作属性键的值,第二个元素是与该属性键关联的值。

6.6K51

【JS】246-如何在JavaScript面试中过五关斩六将?

JavaScript 闭包就是一个函数返回另一个函数。 如果有人要求你:写一个传入字符串并返回单个字符的范例。一旦更新的字符串,输出也跟着替换掉旧的。这简称为生成器。...JSON 字符串JSON 对象。...map map 函数用在 JavaScript 数组中。map 函数通过将数组的每个元素传递给转换函数,并返回一个数组。...reduce 的一个实际用途是合并数组中的数组元素。合并是将内部数组元素转换成一个简单数组。...filter 与 map 用法相近,因为 filter 也是处理数组中的每个元素并最终返回另一个数组(而不像 reduce 返回一个值)。筛选后的数组长度可以小于或等于原始数组

1.2K30
领券