- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 JavaScript每日五题面试题(第九天)
同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。Promise是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,他的出现大大改善了异步编程的困境,避免了地狱回调,它比传统的解决方案回调函数和事件更合理和更强大。
2023-04-26 19:11:14
551
原创 JavaScript每日五题面试题(第八天)
执行的时间间隔并不是精确的,而是在指定的时间间隔后尽快执行代码。柯里化(Currying) 是把接收多个参数的原函数变换成接受一个单一参数(原来函数的第一个参数的函数)并返回一个新的函数,新的函数能够接受余下的参数,并返回和原函数相同的结果。方法:该方法是 ES5 新增的数组判断方法,返回一个布尔值,如果传入的参数是数组,则返回。是 JavaScript 中的一个函数,用于在指定的时间间隔内重复执行指定的代码。关键字:该关键字用于判断一个对象是否是某个类的实例,对于数组来说,判断表达式为。
2023-04-25 22:15:12
662
1
原创 JavaScript每日五题面试题(第七天)
标签等等 比较容易阅读,方便开发人员快速了解页面的结构,更具有可读性,利与开发和维护。让页面能够结构化的展示,比如段落用。
2023-04-24 21:23:24
526
原创 JavaScript每日五题面试题(第六天)
事件委托就是利用事件冒泡,只定制一个事件处理程序,就可以管理某一类型的所有事件。事件委托,称为事件代理,是JS中很常用的绑定事件的方法。事件委托就是把原本需要绑定在子元素上面的事件委托给父元素,让父元素担当事件监听的职务,原理是DOM元素的事件冒泡。
2023-04-23 16:52:39
859
原创 JavaScript每日五题面试题(第五天)
同源策略限制了跨域请求的能力,因此要进行跨域请求,需要通过一些技术手段来实现,如JSONP、CORS等。在实际开发中,我们需要了解同源策略的限制,遵守安全规则,确保网站的安全性。同源策略的作用是防止一个网页从其他网页中获取或者操作数据,保证了用户的安全和隐私。如果没有同源策略的限制,恶意网站就可以窃取用户的个人信息,进行钓鱼攻击等。同源策略(Same Origin Policy)是一种安全策略,用于限制一个源(origin)的文档或脚本如何与其他源的资源进行交互。模块来进行URL查询字符串的解析和序列化。
2023-04-21 17:10:23
718
原创 JavaScript每日五题面试题(第四天)
AMD:AMD(Asynchronous Module Definition)也是一种模块化规范,与 CommonJS 不同的是,它支持异步加载模块,主要用于浏览器端的 JavaScript,通过 define() 函数定义模块,通过 require() 函数异步加载模块。他解决的问题跟AMD是一样的,但他的文件加载时机跟AMD是不一样的,AMD是所有依赖的文件提前加载,CMD是什么需要什么时候加载。(4)判断函数的返回值类型,如果是值类型,返回创建的对象。如果是引用类型,就返回这个引用类型的对象。
2023-04-20 17:11:25
646
原创 JavaScript每日五题面试题(第三天)
第一种回答回流当DOM的变化影响了元素的几何信息(元素的的位置和尺寸大小),浏览器需要重新计算元素的几何属性,将其安放在界面中的正确位置,这个过程叫做回流。回流也叫重排,简单的说就是重新生成布局,重新排列元素。下面几种情况会发生回流:页面初始渲染,这是开销最大的一次重排添加/删除可见的DOM元素改变元素位置改变元素尺寸,比如边距、填充、边框、宽度和高度等改变元素内容,比如文字数量,图片大小等改变元素字体大小改变浏览器窗口尺寸,比如resize事件发生时。
2023-04-19 16:53:23
682
原创 JavaScript每日五题面试题(第二天)
防抖在事件被触发时,延迟n秒后再触发回调函数,如果n秒内又触发了事件,则会重新开始计算时间(一定时间内最后一次生效)应用场景用户在输入框中连续输入一串字符时,可以通过防抖策略,只在输入完后,才执行查询的请求,这样可以有效减少请求次数,节约请求资源实现在内存开辟空间把函数体中的代码,存放在该空间中把该空间的引用地址,返回给函数根据函数名中的引用地址,获取内存中的函数体给形参赋值预解析在内存中再次开辟一个执行空间把存储空间中的代码,拿到执行空间中去执行。
2023-04-18 18:56:04
585
原创 JavaScript每日五题面试题(第一天)
深拷贝创建一个新对象, 拷贝对象的所有属性, 如果属性是基本数据, 拷贝的就是基本数据的值;如果是引用数据, 则需要重新分配一块内存, 拷贝该引用数据的所有属性, 然后将引用地址赋值给对应的属性, 如果该引用数据中某个属性也是引用数据则需要继续一层层递归拷贝……浅拷贝会新建一个对象, 拷贝对象的所有属性值, 对于基本数据来说就是拷贝一份对应的值, 但是对于引用数据则是拷贝一份引用数据的引用地址。原型在js中,每个构造函数。
2023-04-17 18:27:11
445
原创 git-webpack-vite-事件循环
配置name和emailgit文件状态未跟踪已跟踪暂存未修改已修改git常用命令git status查看当前仓库的状态git init初始化仓库将文件切换到暂存的状态将暂存的文件存储到仓库中恢复文件取消暂存状态删除文件强制删除移动文件git branch查看当前分支创建新的分支删除分支切换分支创建并切换分支合并分支GitHub远程仓库常用命令。
2022-12-18 21:10:32
442
原创 JavaScript面试题(六)
`BFC(Block Formatting Context)块级格式化上下文,是Web页面一块独立的渲染区域,内部元素的渲染不会影响边界以外的元素。BFC的方式都能清除浮动,但是常使用的清除浮动的BFC方式只有,原因是使用float或者position方式清除浮动,虽然父级盒子内部浮动被清除了,但是父级本身又脱离文档流了,会对父级后面的兄弟盒子的布局造成影响。如果设置父级为,内部的浮动就会失效。所以通常只是用清除浮动。
2022-09-27 20:26:30
195
原创 JavaScript面试题(四)
Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护 Promise使用:Promise是ES6提供的一个构造函数,可以使用Promise构造函数new一个实例,Promise构造函数接收一个函数作为参数,这个函数有两个参数,分别是两个函数。方法分别指定成功或失败的回调函数,也可以使用catch捕获失败,then和catch最终返回的也是一个Promise,所以可以链式调用。则将状态由等待转变为失败,在异步操作失败时调用,将异步操作报出的错误作为参数传递过去。
2022-09-24 21:21:06
129
原创 JavaScript面试题(三)
一个函数和词法环境的引用捆绑在一起,这样的组合就是闭包。一般就是一个函数A,return其内部的函数B,被return出去的B函数能够在外部访问A函数内部的变量,这时候就形成了一个B函数的变量闭包,A函数执行结束后这个变量闭包也不会被销毁,并且这个变量闭包在A函数外部只能通过B函数访问。能够让函数作用域中的变量在函数执行结束之后不被销毁,同时也能在函数外部可以访问函数内部的局部变量。由于垃圾回收器不会将闭包中变量销毁,于是就造成了内存泄露,内存泄露积累多了就容易导致内存溢出。
2022-09-23 22:29:07
333
原创 React.Meno
React.memo() 是一个高阶组件,它接收另一个组件作为参数,并且会返回一个包装过的新组件,包装过的新组件就会具有缓存功能,包装过后,只有组件的props发生变化,才会触发组件的重新的渲染,否则总是返回缓存中结果。
2022-09-19 22:12:54
524
原创 React useReduce useCallback使用
Reducer横空出世,reduce单词中文意味减少,而reducer我觉得可以翻译为“当你的state的过于复杂时,你就可以使用的可以对state进行整合的工具”。当然这是个玩笑话,个人认为Reducer可以翻译为“整合器”,它的作用就是将那些和同一个state相关的所有函数都整合到一起,方便在组件中进行调用。当然工具都有其使用场景,Reducer也不例外,它只适用于那些比较复杂的state,对于简单的state使用Reducer只能是徒增烦恼。
2022-09-18 21:15:15
866
原创 React useEffect副作用函数
比如,在effect中设置了一个定时器,总不能每次effect执行都设置一个新的定时器,所以我们需要在一个effect执行前,清除掉前一个effect所带来的影响。useEffect()是一个钩子函数,需要一个函数作为参数这个作为参数的函数,将会在组件渲染完毕后执行。在开发中,可以将那些会产生副作用的代码编写到useEffect的回调函数中 ,这样就可以避免这些代码影响到组件的渲染。effect返回的函数,会在下一次effect执行前调用,我们可以在这个函数中清除掉前一次effect执行所带来的影响。
2022-09-17 21:57:00
446
原创 React setState执行流程
;clickHandler } > 点击 < / button > < / div >);}当我们点击按钮时setCount() 会调用 dispatchSetDate(),这个函数会先判断,组件当前处于什么阶段。如果是渲染阶段 --> 不会检查state值是否相同如果不是渲染阶段 --> 会检查state的值是否相同如果值不相同,则对组件进行重新渲染如果值相同,则不对组件进行重新渲染。
2022-09-15 20:47:57
435
原创 React使用Context
编写组件的时候我们经常使用属性简写组件之间的传值,但是有时候我们的组件层级比较高,这导致我们传递的属性在一些中间组件并没有被使用,导致代码比较乱,这时候我们可以使用Context,Context相当于一个公共的存储空间。useContext() 需要一个Context作为参数,它会将Context中数据获取并作为返回值返回。它会将context设置为回调函数的参数,通过参数就可以访问到context中存储的数据。2.使用钩子函数useContext()获取到context。使用Context有两种方式。
2022-09-14 17:18:28
644
原创 TS中的类
类是指用来创造一类对象的模板,而通过这个模板创建出来的对象叫做实例。我们可以直接在构造函数外面定义方法,然后通过new实例进行调用。TS中的类是由class关键字开始的。这是一个最简单的动物类了。
2022-09-13 08:45:19
417
原创 React State
在React中,当组件渲染完毕后,再修改组件中的变量,不会使组件重新渲染 要使得组件可以收到变量的影响,必须在变量修改后对组件进行重新渲染这里我们就需要一个特殊变量,当这个变量被修改使,组件会自动重新渲染。
2022-09-08 07:00:00
186
原创 React Props
我们希望组件数据可以由外部设置,在组件间,父组件可以通过props(属性)向子组件传递数据。如果将组件中的数据全部写死,将会导致组件无法动态设置,不具有使用价值。可以在函数组件的形参中定义一个props,props指向的是一个对象。在函数组件中,属性就相当于是函数的参数,可以通过参数来访问。它包含了父组件中传递的所有参数。
2022-09-07 16:34:29
192
原创 TS类型断言
typescript编译阶段,发现变量是一个A类型,但是我却告诉typescript这个变量是B类型,按照B类型的方式去执行。A赋值给B,可以赋值成功,那么说明B兼容A。
2022-09-01 22:04:20
1746
原创 Vue问题解决
这个 prop 用来传递一个初始值;这个子组件接下来希望将其作为一个本地的 prop 数据来使用。在这种情况下,最好定义一个。如果这个 prop 以一种原始的值传入且需要进行转换。在这种情况下,最好使用这个 prop 的值来定义一个计算属性 .vue create 命令可选项:-m, --packageManager 在安装依赖时使用指定的 npm 客户端。vue create (项目名称) -m npm。,故上图的用法是肯定会触发错误的。实质上,在子组件内,我们。违反vue单向数据流。...
2022-08-31 22:19:56
1829
原创 js 参数为回调函数
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。返回数组中满足提供的测试函数的第一个元素的值。创建一个新数组,其包含通过所提供函数实现的测试的所有元素。测试一个数组内的所有元素是否都能通过某个指定函数的测试。使用 “reducer” 回调函数遍历整个数组后的结果。一个由原数组每个元素执行回调函数的结果组成的新数组。对数组中的每个元素按序执行一个由您提供的。对数组的每个元素执行一次给定的函数。.
2022-08-30 22:37:30
513
原创 js Array方法
返回值: 首个被找到的元素在数组中的索引位置;若没有找到则返回 -1。返回值: 数组中该元素最后一次出现的索引,如未找到返回-1。返回值: 一个所有数组元素连接的字符串。指定一个字符串来分隔数组的每个元素。返回值: 返回一个新的数组对象。从此位置开始逆向查找。返回值:拼接后的数组。...
2022-08-28 21:57:25
130
原创 JS Array数组方法1
通过删除或替换现有元素或者原地添加新的元素来修改数组。返回值: 由被删除的元素组成的一个数组。deleteCount:几个元素。return a-b 正序排序。return b-a 倒序排序。返回值:数组追加完的长度。返回值:数组追加完的长度。start:从第几个开始。item:需要替换的元素。返回值: 颠倒后的数组。返回值: 排序后的数组。颠倒数组中元素的位置。对数组的元素进行排序。...
2022-08-27 18:42:33
125
原创 js BOM
sessionStorage:会话存储(临时存储)location.reload(刷新页面)location.href (获取地址)localStorage:永久存储。页面资源加载完毕执行。
2022-08-26 22:09:16
197
原创 TS新增类型
如果可以预判数据的具体类型,就不要使用any,因为使用any之后,没有任何的语法提示,也没有了静态类型检查。0:待支付 1:待发货 2:待收货 3: 待评价 4:完成 5:取消。4.0之后,不可以越界访问。4.0之前,越界访问是元组中数据类型的联合类型。表示一个已知元素数量和类型的数组,各元素的类型不必相同。一般情况下,在声明函数没有返回值时使用。Never,一般表示出错了。...
2022-08-25 20:57:46
994
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人