自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 问答 (3)
  • 收藏
  • 关注

原创 常用nginx指令

【代码】常用nginx指令。

2024-04-15 20:28:49 84

原创 JS实现一个带并发限制的异步调度器Scheduler

【代码】JS实现一个带并发限制的异步调度器Scheduler。

2023-12-27 09:22:21 438

原创 LeetCode 之算法篇(1)

本篇文章做leetcode的一些内容总结。

2023-12-25 00:56:58 114

原创 for…in和for…of的用法与区别

写了两年的js,迷迷糊糊的,现在系统地回顾一下。

2023-12-14 00:02:11 123

原创 【React】useCallback 使用的说明

用了两年多的react,今天抽空写点小内容。

2023-12-12 01:03:52 363

原创 【JavaScript】深拷贝 - JSON.stringfy 的缺点

1、只能处理JSON安全的数据类型:只能处理原始数据类型(字符串、数字、布尔值)、数组和纯粹的对象。不能处理特殊数据类型(函数、regExp)4、性能问题:由于JSON.stringify 是递归执行,可能会导致性能问题。2、无法处理循环引用:JSON.stringify 会抛出错误。3、不复制对象的原型链:不会包含在序列化的JSON字符串。问题来了:JSON.stringify 深拷贝的缺点。2、函数库lodash的_.cloneDeep方法。复习一下深拷贝的内容。

2023-12-12 00:20:10 151

原创 老生常谈之 JavaScript 中 0.1 + 0.2 != 0.3 的原因

2、具体来说,双精度浮点数的指数部分是一个11位的二进制数,其中最小值是全0(00000000000),最大值是全1(11111111111)。同时,由于使用偏移值,指数部分的二进制表示中并不包含真实的指数值,而是需要通过减去偏移值来得到真实的指数。针对于0.2也进行同样分析,相加的时候同样也出现了截取保存的情况,即出现第二次精度丢失,所以最终转换为10进制的时候为 0.30000000000000004。4、例如,如果指数部分的二进制表示是 01111111111,那么对应的无符号整数是。

2023-11-22 23:48:28 193

原创 JavaScript中的事件循环 为什么是微任务先运行

总的来说,“避免死循环” 是指在异步任务的处理中,合理控制任务的执行顺序,避免无限循环或递归,保证程序能够正常地执行其他任务,而不陷入无尽的重复。如果微任务执行的时候又调度了新的宏任务,那么这个新宏任务会在当前宏任务执行完毕后被执行,而不是立即执行,从而避免了无限循环。在这个例子中,当宏任务中的微任务执行时,又调度了一个新的宏任务,这样就形成了一个宏任务和微任务之间的循环。: 如果宏任务中产生了微任务,如果微任务不优先执行,而是等宏任务执行完再执行微任务,可能会导致宏任务和微任务之间的死循环。

2023-11-22 22:43:15 381

原创 【LeetCode】双指针 & 滑动窗口

双指针是指在算法中同时使用两个指针来追踪数组或序列中的元素位置。这两个指针可以朝着相同方向移动,也可以朝着相反方向移动。在算法问题中,双指针通常用于在数组、链表或其他数据结构中执行一些特定的操作,如搜索、遍历、或找出满足条件的子序列等。

2023-10-13 00:59:39 158

原创 [LeetCode] 哈希表 + 动态规划

定义问题的状态,通常涉及到需要求解的子问题。在这个问题中,状态可以定义为爬到第 i 阶楼梯的方法数。2、

2023-10-13 00:51:42 85

原创 【JavaScript】JSON.stringify的使用

localstroage的存储对象的深拷贝删除对象中的属性

2023-10-06 15:36:22 44

原创 常见的Redux问题

在React中使用Redux的面试题目通常涵盖了Redux的基本概念、工作原理、如何在React应用中集成Redux等方面。

2023-08-16 20:03:26 161

原创 怎么找到引发回流的JavaScript代码?

要找到引发回流的JavaScript代码,可以使用浏览器的开发者工具中的性能分析器。不同的浏览器有不同的名称和位置,例如Google Chrome的开发者工具中的性能分析器被称为Performance,Firefox的开发者工具中的性能分析器被称为Profiler。需要注意的是,强制回流的原因可能不仅仅是JavaScript代码,还可能涉及到CSS布局的问题。除了性能分析器外,也可以使用Chrome的开发者工具中的"Changes"选项卡来查看DOM的更改。

2023-05-11 11:11:32 510

原创 antd form 表单组件是如何实现的

Antd Form 将 Form 表单组件与数据状态管理(双向绑定)解耦,通过高阶组件的方式将 Form 表单组件与表单数据关联起来,将表单数据作为 HOC 的 state,再通过 Context API 传递给子组件,实现表单数据的全局共享。Antd Form 借助了 React 的 Context 和 HOC 实现了表单数据状态的全局共享和管理,同时提供了一些常用的表单项和校验规则,极大地提升了开发表单的效率和体验。

2023-04-26 11:18:51 650

原创 【Vue】父子组件通信的方法

vue父子组件通信方法

2022-09-19 10:45:13 221

原创 【HTML】z-index大的元素一定在小的上面吗?

z-index生效规则与层叠上下文

2022-09-08 17:13:09 728

原创 e.target和e.currentTarget的区别

参考链接:e.target与e.currentTarget的区别结论:target指向 事件触发的对象;currentTarget指向 事件绑定的对象;帮助理解:首先,两者都为触发事件的对象引用,即某个dom元素的引用target一般可以用来实现事件委托,即通过冒泡和捕获原理给父元素添加事件监听,这时的target指向引发触发事件的元素。由于冒泡,子元素的触发事件就会传到父元素,因而实现监子元素事件的效果。...

2022-04-06 20:39:27 301

原创 剑指 Offer 61. 扑克牌中的顺子

参考链接:leetcodeclass Solution(object): def isStraight(self, nums): """ :type nums: List[int] :rtype: bool """ repeat = set() ma, mi = 0, 14 for num in nums: if num == 0:

2021-04-11 22:19:59 56

原创 剑指 Offer 60. n个骰子的点数

参考链接: Leetcode解class Solution(object): def dicesProbability(self, n): """ :type n: int :rtype: List[float] """ dp = [1/6.0] * 6 for i in range(2, n + 1): tmp = [0] * (5 * i + 1) f

2021-04-11 21:08:40 66

原创 剑指 Offer 49. 丑数

参考链接:leetcode解class Solution(object): def nthUglyNumber(self, n): """ :type n: int :rtype: int """ dp, a, b, c = [1] * n, 0, 0, 0 for i in range(1, n): n2, n3, n5 = dp[a] * 2, dp[b] * 3, dp[c

2021-04-11 19:45:24 79

原创 剑指 Offer 63. 股票的最大利润

class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ low_price, profit = float("+inf"), 0 for price in prices: low_price = min(low_price, price)

2021-04-11 11:41:13 58

原创 剑指 Offer 10- I. 斐波那契数列

class Solution(object): def fib(self, n): """ :type n: int :rtype: int """ a, b = 0, 1 for i in range(n): a, b = b%1000000007, (a+b)%1000000007 return a

2021-04-11 11:10:36 68

原创 剑指 Offer 27. 二叉树的镜像

# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def mirrorTree(self, root): """ :type roo

2021-04-11 10:57:22 54

原创 【仿穷游项目】无缝连续滚动特效

思路:机理:使用CSS3过渡,不是JS动画比如 0 1 2 3 4 5,六张幻灯片,克隆第一张,当运行最后一张时,对结合transform的translateX进行处理用定时器实现,去除首尾张幻灯片切换时的过渡效果;同时还有注意防抖;translateX的时候,为了适应不同屏幕大小的宽度,需要结合id,即第几张图片的索引;比如:“translateX(” + (-100 / 6) * idx + “%)”;,6即有六张图片,每张图片占16.66666666%的宽度,因此每次移动的长度设置为百分比

2021-04-07 23:50:13 205

原创 【Leetcode】1371. 每个元音包含偶数次的最长子字符串(Python)

class Solution(object): def findTheLongestSubstring(self, s): """ :type s: str :rtype: int """ D = {"a": 1, "e": 2, "i": 4, "o": 8, "u": 16} L = {0: 0} m = t = 0 for i, c in enumerate(s, 1

2021-04-02 10:54:37 162 1

原创 【leetcode】5. 最长回文子串(Python)

class Solution(object): def longestPalindrome(self, s): """ :type s: str :rtype: str """ n = len(s) if n < 2: return s dp = [[False] * n for _ in range(n)] res = str()

2021-04-02 10:28:03 58

原创 【leetcode】1262. 可被三整除的最大和(Python)

动态规划: dp = [0, 1, 2]0: 对3 取余为 0 的最大和1: 对3 取余为 1 的最大和2: 对3 取余为 2 的最大和0 1 2 为 dp 位置的值0 = 1 + 2 % 31 = 0 + 1 % 32 = 0 + 2 % 3class Solution(object): def maxSumDivThree(self, nums): """ :type nums: List[int] :rtype:

2021-04-02 10:13:55 299

原创 【leetcode】42. 接雨水(Python)

看到一个python版本的,真的绝,也不知道怎么想到的,直接上代码吧class Solution: def trap(self, height): ans = 0 h1 = 0 h2 = 0 for i in range(len(height)): h1 = max(h1,height[i]) h2 = max(h2,height[-i-1]) ans = a.

2021-04-01 19:32:13 113

原创 【JavaScript】手写深度比较,模拟lodash isEqual

// 判断是否是对象或数组function isObject(obj) { return typeof obj === 'object' && obj !== null}// 全相等(深度)function isEqual(obj1, obj2) { if (!isObject(obj1) || !isObject(obj2)) { // 值类型(注意,参与 equal 的一般不会是函数) return obj1 === obj2 .

2021-03-23 17:06:10 154

原创 【JavaScript】无敌基础面试题

无敌基础,无敌常见的面试题let、const、var的区别var 有变量提升;(ReferenceError和undefined的区别)var let是变量,可修改;const是常量,不可修改;let const 块级作用域,var没有。typeof能判断哪些类型所有值类型,undefined、string、number、boolean、symbol引用类型:object(注意,null也是object,typeof null == “object”)函数列举强制类型转换和隐式.

2021-03-23 16:44:54 98

原创 【实习面经】金山云

2021金山云前端实习一面,总共八个问题文章目录前端跨域问题JS数组常用方法深拷贝如何实现CSS实现水平居中、垂直居中CSS优先级以及权重sessionStorage和localStorage的区别清除浮动position属性前端跨域问题跨域就是浏览器从一个“域”向另一个“域”的服务器发送请求,来访问另一个“域”的资源。但是浏览器不允许直接访问另一个“域”上的资源,只能访问同一个“域”的资源,这就是“同源策略”。所谓同源就是:协议、域名、端口号一致。解决方案:JSONPCORSJ.

2021-03-23 16:44:24 471

原创 【浏览器】浏览器渲染流程

前几天面试遇见了,记录一下解析接收到的文档,根据文档构建DOM树;解析CSS,构建CSS树根据DOM树和CSS树构建渲染树Render Tree;根据渲染树来进行布局,计算DOM元素要显式的位置和大小;(回流)浏览器进行绘制渲染。为了更好的用户体验,渲染引擎不会等到所有html解析完成之后再去构建和布局render tree,而是解析完一部分就显式一部分,同时在网络下载其余内容...

2021-03-22 16:48:39 54

原创 【网络安全】常见的网络攻击

2021 腾讯云区域研发前端一面参考链接:慕课前端面试题Web常见前端面试题及答案-简书有XSS,CSRF,XSS:跨站脚本攻击它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。当用户浏览被修改的网页时,就可以达到恶意攻击的目的XSS的防御措施:过滤转义输入输出避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关使用cookie的httpOnly属性,加上了这个属性的cookie字段,.

2021-03-20 11:52:54 206

原创 【HTTP】简述你对HTTP控制访问(CORS)的理解。

WPS 2020前端面试题

2021-03-20 00:19:31 571

原创 【HTTP】来聊一下前端HTTP请求相关吧

前几天面试遇到类似的问题

2021-03-20 00:18:59 130

原创 【CSS】 css属性position都有哪些值?

WPS 2020前端面试题absolute,相对于最近一层定位元素relative,相对于自身的位置(未脱标)fixed,相对于浏览器窗口static,没有定位sticky,粘性布局,position:sticky是css定位新增属性;可以说是static(没有定位) 和 固定定位fixed 的结合;它主要用在对 scroll 事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到 sticky 粘性定位的要求时(比如top: 100px);position:sticky这时.

2021-03-20 00:16:16 382

原创 【JavaScript】网页中接收事件的顺序(事件流)有哪些?它们之间的区别是什么?

WPS 2020前端笔试题参考红宝书第17章事件,题目也指明了事件流的定义,即描述了网页中接收事件的顺序。不同开发团队支持不同的事件流事件流主要有:事件冒泡又叫:IE的事件流,即事件从最深的那个节点接收,逐级向上传播到document,举个例子:大概顺序为div-body-html-document,事件捕获主要含义:最不具体的节点应该最先接收到事件,即为了在事件到达最终目标前拦截事件。举个例子:大概顺序为document-html-body-divDOM事件流分为三.

2021-03-20 00:07:09 407

原创 【JavaScript】简述cookie/session记住登录状态机制原理。

WPS 2020前端笔试题cookie(客户端的状态保存机制)用户登录验证成功后,如果是使用 Cookie 记住登录状态,则服务器会将用户名等信息放在响应头的 Set-Cookie 属性中返回给服务器,之后的 HTTP 请求都会携带这个 Cookie ,实现记住登录。session(服务端的状态保存机制)用户登录验证成功后,如果是 session 的话,则服务器会将用户名等信息存放在本地,再随机生成一个登录标识通过 Cookie 返回给浏览器,之后浏览器每次发送请求也会携带这个 Cookie,.

2021-03-19 23:49:00 599

原创 【JavaScript】new操作符做了什么?

例子:function People(){};var wo = new People();四个步骤创建一个空对象obj;设置原型链:obj.__proto__ = People.prototype;People的this指向obj,执行People的函数体判断People的返回值类型,如果为值类型返回obj;如果为引用类型,返回这个引用类型的对象参考链接:new 操作符具体干了什么?...

2021-03-19 23:39:10 54

转载 【CSS】请列举几种除了px外的CSS度量单位并解释其含义。

WPS 2020前端开发笔试题链接:https://www.nowcoder.com/questionTerminal/bb523f20fb2a4054af1a42e9b5493441来源:牛客网一咕叽irem 相对于根字体大小的单位,比如可以设置 1rem=50pxem 相对于font-size,比如font-size:16px(浏览器默认),则2em=32pxvm 即viewpoint width,视窗宽度,比如1vm的宽度为相对于视窗的宽度的百分之一vh 即viewpoint he.

2021-03-19 21:31:23 660

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除