自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 JS基础--处理字符串的方法分类汇总

【代码】JS基础--处理字符串的方法分类汇总。

2025-07-30 14:37:51 894

原创 JS基础--处理数组的方法分类汇总

【代码】JS基础--处理数组的方法分类汇总。

2025-07-30 10:39:07 162

原创 完全平方数--华为技术加面的手撕算法题

给你一个整数n,返回和为n的完全平方数的最少数量。是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149和16都是完全平方数,而3和11不是。

2025-07-19 18:22:23 465

原创 js热点--防抖&节流(华为技术一面的手撕代码题之一)

防抖节流面试常考,也是非常实用的前端热点!要牢记“防抖像电梯等人齐再关门;节流像地铁固定 3 分钟一班。”的记忆口诀,弄懂本文的几种手撕实现!

2025-07-16 18:07:04 721

原创 js基础--判断变量类型的方法梳理

在实际开发中,可以根据具体需求选择合适的方法来判断变量类型。对于基本数据类型,typeof通常是最简单直接的方法;对于复杂类型或需要更精确判断的情况,可以使用instanceof或。对于数组类型,是最推荐的方法。

2025-07-10 10:17:56 295

原创 js基础--深拷贝和浅拷贝

深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是编程中(前端我们讨论js)常见的概念,尤其是在处理数据结构如数组和对象时。它们描述了复制数据时的不同行为和结果。

2025-07-10 01:31:22 405

原创 访问房间--记一道华为web前端技术二面的手撕真题

访问房间:钥匙i可以访问房间号为i的房间,每个房间中可以拿到一串钥匙(即一个数组),根据这串钥匙去访问对应房间,初始有吧钥匙0或者理解为房间号为0的房间门没锁。问是否所有房间都能被访问到?能则返回true,不能则返回false。

2025-07-10 00:56:52 167

原创 js基础--修改this指针指向的方法

thisthis。

2025-07-08 22:52:27 148

原创 No.316去除重复字母(leetcode困难)

给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证(要求不能打乱其他字符的相对位置)。"abc""acdb"该题与 1081相同。

2025-07-03 17:30:39 481

原创 No.443压缩字符串(leetcode中等)

给你一个字符数组chars,请使用下述算法压缩:从一个空字符串s开始。对于chars中的每组1ss压缩后得到的字符串s,需要转储到字符数组chars中。需要注意的是,如果组长度为10或10以上,则在chars数组中会被拆分为多个字符。请在,返回该数组的新长度。你必须设计并实现一个只使用常量额外空间的算法来解决此问题。返回 6 ,输入数组的前 6 个字符应该是:["a","2","b","2","c","3"]"aa" 被 "a2" 替代。"bb" 被 "b2" 替代。"ccc" 被 "c3" 替代。

2025-07-02 19:15:15 667

原创 No.70爬楼梯

这里形成的数列正好是斐波那契数列,答案要求的 f(n) 即是斐波那契数列的第 n 项(下标从 0 开始)。我们来总结一下斐波那契数列第 n 项的求解方法:n 比较小的时候,可以直接使用过递归法求解,不做任何记忆化操作,时间复杂度是 O(),存在很多冗余计算。一般情况下,我们使用「记忆化搜索」或者「迭代」的方法,实现这个转移方程,时间复杂度和空间复杂度都可以做到 O(n)。

2025-07-01 02:02:02 257

原创 No.283移动零

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。

2025-07-01 01:49:12 294

原创 No.1两数之和(leetcode简单)

因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2025-06-29 19:37:14 293

原创 No.2两数相加(leetcode中等)

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2025-06-29 18:23:29 350

原创 面向对象编程--ES6继承机制和mixin实现多继承

在 ES6 中,由于语言本身仅支持​​(通过extends只能继承一个父类)、(多个子类继承父类)和(一个子类继承父类,父类再继承祖父类),但可以通过 ​​ 模式模拟​​​和​​等复杂继承关系。

2025-06-27 16:46:51 613

原创 面向对象编程--ES6核心特性

ES6(ECMAScript 2015)引入了更完善的面向对象编程(OOP)语法,使得 JavaScript 的类(Class)和继承机制更加清晰和易用。

2025-06-26 20:46:41 904

原创 面向对象编程--JS原型和原型链

JavaScript 的继承和属性查找机制完全依赖原型和原型链,理解它们是掌握 JS 面向对象编程的关键!​是它实现继承和属性查找的核心机制。理解它们,才能真正掌握 JavaScript 的面向对象编程。JavaScript 是一门基于原型的语言,​。本质上是语法糖,底层仍然是基于原型的继承。dog (Dog 实例)dog (Dog 实例)对象自身 → 对象的。

2025-06-25 16:48:21 700 2

原创 JS基础--闭包和函数作用域

实际上是function先被定义好,而后点击,这期间i已经走完了for循环并自增成了5,且i是由var声明的,在整个函数作用域中共享同一个引用(这里可以理解为i变量存放的地址没变,而其值从1自增成了5),所以点击的时候,访问i的存放地址只能获取到值5,于是输出5+1=6。1、各个按钮点击都能输出值,说明都绑定上了点击事件,说明var声明的变量的递增是作用到了buttons[i](i=1,2,...,5)上,即五个按钮中的任何一个buttons[i].onclick都成功被赋值为一个function。

2025-06-24 11:37:23 213 2

空空如也

空空如也

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

TA关注的人

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