首页
学习
活动
专区
工具
TVP
发布

Newxc03的前端之路

专栏作者
93
文章
78751
阅读量
9
订阅数
什么是[].slice.call(arguments)
今天刷牛客的时候碰到一道题是这样的,[].slice.call()这种用法之前没见过
henu_Newxc03
2022-05-28
2480
React自定义hook之useAsync处理异步请求并实现自动执行回调函数
代码实现 import { useCallback, useState } from "react"; import { useMountedRef } from "./index"; interface State<D> { error: Error | null; data: D | null; stat: "idle" | "loading" | "error" | "success"; } const defaultInitialState: State<null> = { st
henu_Newxc03
2022-05-19
1.3K0
React自定义hook之useMountedRef返回组件的挂载状态
useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内保持不变。
henu_Newxc03
2022-05-19
8980
React中利用Error Boundaries实现错误捕捉
错误边界是一种 React 组件,这种组件可以捕获发生在其子组件树任何位置的 JavaScript 错误,并打印这些错误,同时展示降级 UI,而并不会渲染那些发生崩溃的子组件树。错误边界可以捕获发生在整个子组件树的渲染期间、生命周期方法以及构造函数中的错误
henu_Newxc03
2022-05-18
7090
JavaScript算法题总结(五)哈希
BM50 两数之和 📷 /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ function twoSum( numbers , target ) { const ans=new Array(2) let map=new Map(); let n=numbers.length; for(let i=0;i<n;i++){ // 遍历一
henu_Newxc03
2022-05-12
2480
JavaScript算法题总结 (四)堆/栈/队列
BM42 用两个栈实现队列 📷 let stack1=[],stack2=[]; function push(node) { // write code here stack1.push(node); } function pop() { // write code here if(stack2.length==0){ while(stack1.length!==0){ stack2.push(stack1.pop());
henu_Newxc03
2022-05-12
2500
JavaScript算法题总结 (三)二叉树
BM23 二叉树的前序遍历 📷 /* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ function preorderTraversal( root )
henu_Newxc03
2022-05-12
2160
浏览器学习之垃圾回收机制
V8实现了准确式GC,GC算法采用了分代式垃圾回收机制。因此,V8将内存(堆)分为新生代和老生代两部分。 (1) 新生代算法
henu_Newxc03
2022-05-12
2270
浏览器学习之渲染原理与渲染优化
注意:这个过程是逐步完成的,为了更好的用户体验,渲染引擎会尽可能早的将内容呈现到屏幕上,并不会等到所有的html都解析完成后再去构建和布局render树。它是解析完一部分内容就显示一部分内容,同时,可能还在通过网络下载其余内容
henu_Newxc03
2022-05-12
1K0
JavaScript函数柯里化的实现
函数柯里化指的是一种将多种参数的一个函数转换成一系列使用一个参数的函数的技术 function curry(fn,args){ //获取函数需要的参数长度 let length = args.length; args = args || []; return function(){ let subArgs=args.slice(0); //拼接得到现有的所有参数 for(let i=0;i<arguments.length;i++){
henu_Newxc03
2022-05-11
3580
JavaScript之手写call、apply、bind函数
😎 手写call函数 实现步骤: 判断调用对象是否为函数,即使我们是定义在函数的原型上的,但是可能出现使用call等方式调用的情况 判断传入上下文对象是否存在,如果不存在,则设置为window 处理传入的参数,截取第一个参数后的所有参数 将函数作为上下文对象的一个属性 使用上下文对象来调用这个方法,并保存返回结果 删除刚才新增的属性 Function.prototype.myCall=function(context){ //判断调用对象 if(typeof this !== 'funct
henu_Newxc03
2022-05-11
2760
计算机网络学习之HTTP缓存总结
很多网站的资源后面都加了版本号,这样做的目的是:每次升级了JS或者CSS文件后,为了防止浏览器进行缓存,强制改变版本号,客户端浏览器就会重新下载新的JS或CSS文件,以保证用户能及时获得网站的最新更新。
henu_Newxc03
2022-05-11
4160
JavaScript算法题总结(二)二分查找/排序
BM17 二分查找-I 📷 /* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ function search( nums , target ) { // write code here let len = nums.length; if(!len)return -1; let [left
henu_Newxc03
2022-05-11
2020
JavaScript算法题总结(一)链表
BM1 反转链表 📷 /*function ListNode(x){ this.val = x; this.next = null; }*/ function ReverseList(pHead) { // write code here //递归终止条件 if(!pHead||!pHead.next) return pHead; let newhead = ReverseList(pHead.next); pHead.next.next = pHe
henu_Newxc03
2022-05-05
2620
JavaScript如何用setTimeout模拟setInterval
思路就是递归调用 function myInterval(fun,time){ function inside(){ fun(); setTimeout(inside,time); } setTimeout(inside,time); } myInterval(fn,1000); function fn(){ console.log('嘿嘿'); }
henu_Newxc03
2022-05-05
8790
浏览器同源策略与如何解决跨域问题总结
下表给出了与 URL http://store.company.com/dir/page.html 的源进⾏对⽐的示例:
henu_Newxc03
2022-05-05
1.6K0
浏览器本地存储Cookie、LocalStorage、SessionStorage用法与区别总结
Cookie是最早被提出来的本地存储⽅式,在此之前,服务端是⽆法判断⽹络中的两个请求是否是同⼀⽤户发起的,为解决这个问题,Cookie就出现了。Cookie的⼤⼩只有4kb,它是⼀种纯⽂本⽂件,每次发起HTTP请求都会携带Cookie。
henu_Newxc03
2022-05-05
6710
CSS中的两种盒模型总结
盒模型都是由四个部分组成的,分别是margin、border、padding和content
henu_Newxc03
2022-05-05
2640
JavaScript手写Promise、Promise.then()、Promise.all()、Promise.race()
then方法返回一个新的Promise实例,为了在Promise状态发生变化时再执行then里的函数,我们使用一个callbacks数组先把传给then的函数暂存起来,等状态改变时再调用
henu_Newxc03
2022-05-05
9180
浏览器从输入网址到看到网页的流程
⾸先会对 URL 进⾏解析,分析所需要使⽤的传输协议和请求的资源的路径。如果输⼊的URL 中的协议或者主机名不合法,将会把地址栏中输⼊的内容传递给搜索引擎。如果没有问题,浏览器会检查 URL 中是否出现了⾮法字符,如果存在⾮法字符,则对⾮法字符进⾏转义后再进⾏下⼀过程。
henu_Newxc03
2022-05-05
1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档