首页/文章/八股文

八股文

共 224 篇文章

八股文03-07
阅读

hash与history路由模式区别hash与history的区别

hash与history的区别 两种路由模式原因原因 对于 这类渐进式前端开发框架, 为了构建 SPA(单页面应用), 需要引入前端路由系统, 这也就是 存在的意义。 前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求。 因此有两种路由 1. : 即地址栏 URL 中的 符号(此 不是密码学里的散列运算)。 比如这个 URL: , 的值为 。它的特点在于:hash 虽然出现在 URL 中, 但不会被包括在 HTTP 请求中,...

#面试#面试官
八股文03-07
阅读

SPA 两种路由模式的实现原理

Web 应用的路由跳转是通过判断 url 的变化来识别的,浏览器根据不同的 url 来选择加载不同的页面资源。现有的路由工具,也都是从不同的角度来解析 url 来实现其功能的。 单页应用 (SPA) 大致有 hash路由 和 history路由 两种路由模式。前者通过识别浏览器自带的锚点来判断资源,后者利用 h5 的 history API,通过解析嵌套子路径来识别资源位置。 Hash 一个完整的网页 URL 包括:协议、域名、端口、虚...

#面试#面试官
八股文03-03
阅读

什么是Polyfill?在Node.js中如何使用Polyfill

在 中,面试官经常会问一些关于浏览器兼容性和代码适应性的问题。其中,“什么是Polyfill?在Node.js中如何使用Polyfill?”这一题目就是一个典型实例。本文将详尽介绍Polyfill的概念、使用场景,并通过具体示例代码展示如何在Node.js中使用Polyfill。 什么是Polyfill? Polyfill是一种代码或插件,通过为浏览器提供尚未支持的原生功能,使得现代JavaScript特性可以在旧版浏览器或JavaSc...

#学习#面试#面试官
八股文02-26
阅读

vue设计模式总结-vue中主要用到了那些设计模式

Vue 中主要用到的设计模式包括: 一.观察者模式(Observer Pattern): Vue 使用观察者模式来实现数据的响应式,当数据发生变化时,相关的视图会自动更新。 举个栗子: 1. 数据绑定 :在Vue模板中使用双向数据绑定 ,当输入框中的内容发生变化时,绑定的数据也会相应地更新,这就是观察者模式的应用。 1. 计算属性 :Vue中的计算属性会依赖于其所引用的数据,在相关数据发生变化时,计算属性会重新计算并更新,这也是观察者模...

#面试
八股文02-26
阅读

一文讲清楚为啥React Hook不能写在条件语句里

在官方文档 中,对于 Hook 使用规则叙述如下: Hook 就是 JavaScript 函数,但是使用它们会有两个额外的规则: 只能在 函数最外层 调用 Hook。不要在循环、条件判断或者子函数中调用。 只能在 React 的函数组件 中调用 Hook。不要在其他 JavaScript 函数中调用。(还有一个地方可以调用 Hook —— 就是自定义的 Hook 中,我们稍后会学习到。) 可以看到,官方文档中明确说明了,不要在循环、条件...

#面试#面试官
八股文02-26
阅读

手写async await核心原理

前言 async await 语法是 ES7出现的,是基于ES6的 promise和generator实现的 generator函数 在之前我专门讲个generator的使用与原理实现,大家没了解过的可以先看那个 这里就不再赘述generator,专门的文章讲专门的内容。 await在等待什么 我们先看看下面这代码,这是async await的最简单使用,await后面返回的是一个Promise对象: 但不知你有没有想过一个问题,为什么...

#面试
八股文02-26
阅读

手写generator核心原理

1.generator的使用 generator感觉大多数人不太熟悉,所以有必要科普下使用方法。熟悉使用方法 的伙伴可以直接到第二节。 Generator函数跟普通函数的写法有非常大的区别: 一是,function关键字与函数名之间有一个星号; 二是,函数体内部使用yield语句,定义不同的内部状态(yield在英语里的意思就是“产出”)。 最简单的Generator函数如下: g函数呢,有四个阶段,分别是'a','b','c','en...

#面试
八股文02-17
阅读

corejs 是做什么用的, 跟 Polyfill 是什么关系

关键词 :corejs 和 Polyfill 1. CoreJs 的作用 提供标准的 JavaScript 功能支持 :CoreJs 是一个 JavaScript 标准库,它提供了许多在现代 JavaScript 环境中被认为是标准的功能。这些功能包括但不限于对 ES6 + 语法的支持,如 、 、 、 等。例如,在一些较旧的浏览器中可能没有原生的 支持,CoreJs 可以提供一个兼容的 实现,使得代码能够在这些浏览器中正确运行。 跨浏览...

#面试
八股文02-17
阅读

es6 class 装饰器是如何实现的

ES6 中的装饰器是一种特殊的语法,用于动态修改类的行为。在 JavaScript 中,装饰器本质上是一个函数,它可以接受一个类作为参数,并返回一个新的类,实现了类的增强或修改。装饰器可以被用于类、方法、属性等各种地方,可以方便地实现类似 AOP、元编程等功能。 装饰器是 ES7 中的一个提案,目前还没有正式纳入标准。在 ES6 中使用装饰器需要借助第三方库,如 babel plugin transform decorators leg...

#面试
1...8910...25