- 博客(50)
- 收藏
- 关注
原创 前端学习记录~2023.8.19~JavaScript重难点实例精讲~第7章 ES6(2)
本章是第七章ES6相关的内容,也是最后一章。本篇为第二篇,后面还有一篇。现在ES6使用非常广泛,新增的箭头函数、类、Promise等新特性,可以方便地处理很多复杂的操作,极大地提高了开发效率。本章会记录ES6中最常用的新特性let和const关键字解构赋值模板字符串箭头函数Symbol类型Set和Map数据结构ProxyReflectPromiseIteratorGenerator函数Class及其用法Module及其用法。
2023-10-05 16:16:24
393
原创 JavaScript学习记录 | DOM事件流 事件冒泡-事件捕获-事件委托
通过事件委托,我们可以将事件处理程序绑定到父级元素,而不是直接绑定到每个子元素,从而减少了事件处理程序的数量,提高了性能和代码的可维护性。事件委托:事件委托是利用事件冒泡原理实现的,就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素。DOM事件流的三个阶段:捕获阶段 -> 目标阶段 -> 冒泡阶段。使用事件委托时,如果注册到目标元素上的其他事件处理程序使用了。当事件处于目标阶段时,事件调用顺序决定于绑定事件的书写顺序。目的:解决页面中的事件流(事件发生顺序)的问题。
2023-09-18 03:34:47
266
原创 前端学习记录~2023.8.15~JavaScript重难点实例精讲~第7章 ES6(1)
本章是第七章ES6相关的内容,也是最后一章。现在ES6使用非常广泛,新增的箭头函数、类、Promise等新特性,可以方便地处理很多复杂的操作,极大地提高了开发效率。本章会记录ES6中最常用的新特性let和const关键字解构赋值模板字符串箭头函数Symbol类型Set和Map数据结构ProxyReflectPromiseIteratorGenerator函数Class及其用法Module及其用法在给构造函数添加原型函数时,如果使用箭头函数,其中的。
2023-08-26 16:43:48
1165
原创 前端学习记录~2023.8.10~JavaScript重难点实例精讲~第6章 Ajax
本章是第六章Ajax相关的内容。Ajax是一种流行的前后端数据交互的方式,通过异步请求就可以在不需要刷新页面的情况下,达到局部刷新的效果。使用CSS和XHTML做页面呈现使用DOM进行交互和动态显示使用XMLHttpRequest对象和服务器进行异步通信使用JavaScript进行绑定和调用,操作DOMAjax的基本原理及执行过程Nodejs搭建简易服务器Ajax提交form表单Ajax进度事件JSON序列化和反序列化Ajax跨域解决方案。
2023-08-24 03:02:37
1414
原创 前端学习记录~2023.8.3~JavaScript重难点实例精讲~第5章 DOM与事件
本章是第五章DOM与事件相关的内容。DOM是文档对象模型,全称为Document Object Model。DOM用一个逻辑树来表示一个文档,树的每个分支终点都是一个节点,每个节点都包含着对象。DOM提供了对文档结构化的表述,通过绑定不同的事件可以改变文档的结构、样式和内容,从而能实现“动态”的页面。DOM选择器常用的DOM操作事件流和事件处理程序Event对象事件委托contextmenu右键事件文档加载完成事件浏览器重排和重绘删除一个元素的文本节点需要 3 步(方法一。
2023-08-20 18:57:03
289
原创 前端学习记录~2023.7.30~JavaScript重难点实例精讲~第4章 对象
本章是第四章对象相关的内容。JavaScript虽然是一门弱类型语言,但它同样是一门面向对象的语言,严格来说它是一门基于原型的面向对象的语言。对象的属性和访问方式创建对象对象拷贝原型对象继承instanceof 运算符这个是实现深拷贝最好的方式,刚才提到的问题全部可以解决。在自定义实现深拷贝时,需要针对不同的数据类型做针对性的处理,因此我们会先实现判断数据类型的函数,并将所有函数封装在一个辅助类对象中,这里用“_”表示(类似于underscore类库对外暴露的对象)/**
2023-08-10 21:40:12
614
原创 前端学习记录~2023.7.26~JavaScript重难点实例精讲~第3章 函数
本章是第三章函数相关的内容。函数包括了作用域、原型链、闭包等核心知识点,非常关键。函数的定义与调用函数参数构造函数变量提升与函数提升闭包this使用详解call()函数、apply()函数、bind()函数的使用与区别在JavaScript中,函数实际也是一种对象,每个函数都是Function类型的实例,能够定义不同类型的属性与方法。函数声明函数表达式Function 构造函数function关键字+函数名+形参+函数体。
2023-08-04 20:02:59
906
原创 前端学习记录~2023.7.24~JavaScript重难点实例精讲~第2章 引用数据类型
本篇为第2章引用数据类型。主要涉及Object类型、Array类型、Date类型。其他类型在后面章节再记录。引用数据类型主要用于区别基本数据类型,描述的是具有属性和函数的对象。JavaScript中常用的引用数据类型包括Object类型、Array类型、Date类型、RegExp类型、Math类型、Function类型以及基本数据类型的包装类型,如Number类型、String 类型、Boolean类型等。引用数据类型的实例需要通过new操作符生成,有的是显式调用,有的是隐式调用引用数据类型的。
2023-08-01 04:57:50
679
原创 前端学习记录~2023.7.22~JavaScript重难点实例精讲~第1章 Javascript重点概念
从本篇开始记录《Javascript重难点实例精讲》,关于Javascript系列预计从这本书出发,接着再通过《Javascript高等程序设计》和阮一峰老师的ES6教程进行完善本篇为第1章 Javascript重点概念js中的number类型及包括整型数据,也包括浮点型数据基本采用是十进制八进制:首位是0,其他位必须是0~7的八进制序列。如024就是十进制20十六进制:前两位必须是0x,其他位是十六进制序列(0~9,a~f或者A~F)。如0x3f是十进制63。
2023-07-25 09:01:36
278
原创 前端学习记录~2023.7.18~CSS杂记 Day10 媒体查询入门 & 传统布局方法 & 支持旧浏览器
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。本篇涉及媒体查询入门、传统的布局方法和支持旧浏览器不出意外本篇会是 CSS 的最后一篇对媒体查询这章节的建议就是,你可能根本不需要它!但是,实践中你会发现,由媒体查询改进的现代布局方式的恰当使用,将会产生最佳效果。本篇是 CSS 篇的最终章。
2023-07-20 16:43:09
129
原创 前端学习记录~2023.7.17~CSS杂记 Day9 浮动float & 定位position & 多列布局 & 响应式设计
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简。相比前两篇,本篇更详细记录了浮动、定位和多列布局。同时记录了响应式设计当元素开始重叠,可以通过z-index属性更改堆叠顺序。默认情况下,定位的元素都具有z-index为auto,实际上为0。较高的值将高于较低的值,比如设置为1就会在更上面需要注意,z-index只接受无单位索引值只记录了 CSS 的部分内容。
2023-07-18 10:40:31
1579
原创 前端学习记录~2023.7.16~CSS杂记 Day8 正常布局流 & 弹性盒子flexbox & 网格 grid
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简。相比上一篇总览,本篇更详细记录了正常布局流、弹性盒子和网格三种布局。长久以来,CSS 布局中唯一可靠且跨浏览器兼容的创建工具只有 floats 和 positioning。在父内容里面垂直居中一个块内容使容器的所有子项占用等量的可用宽度/高度,而不管有多少宽度/高度可用。
2023-07-18 04:02:05
758
原创 前端学习记录~2023.7.15~CSS杂记 Day7 布局概述 & 正常布局流 & 弹性盒子flexbox & 网格grid & 浮动float & 定位position & 表格布局 & 多列布局
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简本篇是布局概览,下一篇会把各部分再详细整理正常布局流display属性弹性盒子网格浮动定位CSS 表格布局多列布局只记录了 CSS 的部分内容。
2023-07-16 20:57:23
439
原创 前端学习记录~2023.7.13~CSS杂记 Day6 字体样式 & 文本布局 & 列表样式 & 样式化链接 & web字体
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简:允许为项目符号使用自定义图片,而不是简单的方形或圆形ul {然而,这个属性在控制项目符号的位置,大小等方面是有限的。最好使用background系列属性只记录了 CSS 的部分内容。
2023-07-16 03:48:44
312
原创 前端学习记录~2023.7.10~CSS杂记 Day5 样式化表格 & 调试CSS & 组织CSS
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简只记录了 CSS 的部分内容。
2023-07-13 04:36:02
460
原创 前端学习记录~2023.7.3~CSS杂记 Day4 溢出 & CSS的值与单位 & 调整大小 & 图像、媒体和表单元素
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简只记录了 CSS 的部分内容。
2023-07-12 05:25:41
213
原创 前端学习记录~2023.6.30~CSS杂记 Day3 背景 & 边框 & 处理不同方向的文本
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。同时从本篇开始为了提高效率和不重要的时间投入,会考虑更加精简只记录了 CSS 的部分内容。
2023-07-03 21:32:00
84
原创 前端学习记录~2023.6.28~CSS杂记 Day2 盒模型
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点完整的 CSS 盒模型应用于块级盒子内联盒子只使用盒模型中定义的部分内容。模型定义了盒的每个部分 ———— 合在一起就可以创建我们在页面上看到的内容。为了增加一些额外的复杂性,有一个标准的和替代(IE)的盒模型只记录了 CSS 的部分内容。
2023-06-30 17:01:17
147
原创 前端学习记录~2023.6.24~CSS杂记 Day1 层叠、优先级和继承 & 函数 & @规则 & CSS工作流程 & 选择器
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点只记录了 CSS 的部分内容。
2023-06-28 16:55:56
575
原创 前端学习记录~2023.6.15~HTML杂记
由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点只记录了 html 的部分内容。
2023-06-21 16:49:34
88
原创 前端学习记录~2023.6.8~JavaScript基础
本次只是整理记录 MDN 网站上最前面的基础入门的三大件基础,后续会分别专门深入探究。本次只是基本入门,后续会更详细探究。
2023-06-10 14:33:54
138
原创 前端学习记录~2023.6.6~CSS基础
本次只是整理记录 MDN 网站上最前面的基础入门的三大件基础,后续会分别专门深入探究。本次只是基本入门,后续会更详细探究。
2023-06-09 14:40:15
53
原创 前端学习记录~2023.6.5~HTML基础
本次只是整理记录 MDN 网站上最前面的基础入门的三大件基础,后续会分别专门深入探究。本次只是基本入门,后续会更详细探究。
2023-06-05 22:55:16
71
原创 前端学习记录~2023.6.1~Web入门
在经过前一个月的刷题与博客记录后,和已经工作两年多的两个前端同学聊天以及请教前端准备路线时,忽然才意识到似乎策略严重有问题。还剩一个月左右就将开启24年的秋招,然而虽然算法和数据结构确实进步颇多,但作为前端工程师可能更重要或者说更为基础更必要的理应是前端相关的知识,前端三大件、浏览器、计算机网络、前端框架等,然而对于这些,目前的进展非常惨不忍睹,尤其是在当前这么紧张的时间下更应该重新审视和规划后续的任务计划,重新判定所有要做的事的优先级。
2023-06-04 16:06:55
67
原创 算法学习记录~2023.5.23~动规Day3~01背包理论基础 & 416. 分割等和子集 & 1049.最后一块石头的重量II
比较难理解的其实就是两个问题,第一个是一维 dp 时为什么背包容量要从后向前倒序,第二个是为什么两层 for 循环不能更改,即必须先遍历物品再遍历背包容量。在上面通过本质思路加上具体的实例推导证明了上面两个问题,后面再看这块可以着重再加深一下这里的理解。其他的地方问题并不大。关于最后的true false判断,我自己是直接写在了两层 for 循环里//01背包 vector < int > dp(10001 , 0);
2023-05-29 21:33:21
55
原创 算法学习记录~2023.5.22~动规Day2~62.不同路径 & 63. 不同路径 II & 343. 整数拆分 & 96.不同的二叉搜索树
力扣题目链接力扣题目链接本题的第二步递推公式的确定是个人感觉最难想到的,一开始自己完全没想到过这种细分方式。本题的递归方式又是自己一开始没想到。同时递归里的 for 循环终止条件以及 dp 递推公式的值一开始也没想清楚没有写对,对于这种情况还是需要多放实际的数进行模拟确认。
2023-05-26 23:34:04
328
原创 算法学习记录~2023.5.21~动规Day1~509. 斐波那契数 & 70. 爬楼梯 & 746. 使用最小花费爬楼梯
动态规划,英文 Dynamic Programming,简称DP。如果某一问题有很多重叠子问题,使用动态规划是最有效的。和贪心算法的区别在于:贪心没有状态推导,而是从局部直接选最优的;动态规划中,每一个状态一定是由上一个状态推导出来的简单题用来掌握方法论,困难题应用方法论。题目还是不难,因此重点还是在于更熟悉动态规划的思维和步骤。简单题,为了练习方法论,然后难度按梯度向上,一环扣一环。
2023-05-26 11:19:03
79
原创 算法学习记录~2023.5.19~贪心Day4~452. 用最少数量的箭引爆气球 & 435. 无重叠区间 & 763.划分字母区间 & 56. 合并区间
结合 134. 加油站 的类似错误经验,之后要尽量避免暴力枚举所有可能发生的情况分别处理,除非逻辑和可能的情况极其简单且确定,否则无论是效率还是准确率都非常难以保证。至于本题思路,比较好想到尽可能让更多气球重叠在一起,但是模拟处理的具体过程不是很好想,代码也不是很好写。一开始是按照左区间排序,但是判断时用的右区间排序才能实现的逻辑,这样就会发现需要考虑非常多特殊情况,也不是很对。其实碰到好几次这种题目了,多维度时不同排序方式有可能也对应着不同的遍历方向或者思路,比较容易考虑不清楚。
2023-05-24 16:07:18
239
原创 算法学习记录~2023.5.18~贪心Day3~134. 加油站 & 135. 分发糖果 & 860.柠檬水找零 & 406.根据身高重建队列
首先是按照思路1的时候,找代码错误找了一个多小时,最后发现是“?:”的语法记出问题用错了…因为一个非常低级的错误浪费了这么久真的很崩溃,尤其是发现这样还超时…思路2和思路3理解起来非常的吃力,这道题可能花了三小时才稍微理解了,而且感觉理解还是存在问题。这个情况来看很没信心之后遇到时候自己还能想起来。具体对于这两种思路的考虑和困难都写在上面对应思路的部分了。不知道是不是要考虑放弃下这道题,贪心算法真的就是一个萝卜一个坑没有任何题目之间能举一反三,自信心打击器了属于是。这道题目前可以标记为不会。
2023-05-23 18:12:28
81
原创 算法学习记录~2023.5.17~贪心Day2~122.买卖股票的最佳时机II & 55. 跳跃游戏 & 45.跳跃游戏II & 1005. K 次取反后最大化的数组和
力扣题目链接力扣题目链接一开始考虑的是找出所有能走到最后一步的路径,之后再找出步数最少的一个。但后来发现这样非常复杂,而且暂时没想出来具体解决方案。看了题解后才想到尽量使用贪心思路,改变思路考虑,一步一步地算,每一步考虑好最优解,最终就是全局最优解按照贪心思想考虑事件划分为小事件后的所有情况,然后再找到解决方案,一方面能解决问题,一方面能尽可能提高效率。
2023-05-22 10:29:35
73
原创 算法学习记录~2023.5.16~贪心Day1~455.分发饼干 & 376. 摆动序列 & 53. 最大子序和
贪心的本质是选择每一个阶段的局部最优,从而达到全局最优最优子结构:规模较大的问题的解由规模较小的子问题的解组成,规模较大的问题的解只由其中一个规模较小的子问题的解决定无后效性:后面阶段的求解不会修改前面阶段已经计算好的结果贪心选择性质:从局部最优解可以得到全局最优解正例:Q:有一堆钞票,可以拿走十张,如果想达到最大的金额,要怎么拿?A:每次拿最大的,最终结果就是拿走最大数额的钱反例(不符合应用场景):Q:如果是有一堆盒子,你有一个背包体积为n,如何把背包尽可能装满。
2023-05-19 17:17:07
401
原创 算法学习记录~2023.5.15~回溯Day4~332.重新安排行程 & 51. N皇后 & 37. 解数独
第一次一天的所有题目都是hard…好在终于是过完一遍回溯了本题如果用map和set的解法目前自己来看还是太吃力了,无论是思路还是基础语法都非常模糊,花了很久其实还并没有搞懂。再刷时候可以考虑js的其他思路和解法力扣题目链接本题是第一次接触到二维递归,但其实仍然没有逃脱回溯三步曲的范畴。思考清楚每一步,想清楚怎样递归获取所有值,以及是否有特殊判定情况,即可解决。
2023-05-18 19:57:27
51
原创 算法学习记录~2023.5.14~回溯Day3~90.子集II & 491. 递增子序列 & 46.全排列 & 47.全排列 II
力扣题目链接本题使用了unordered_set去重。一开始自己想的时候看例子没能发现重复的问题,采用类似used去重的关键在于想清楚是要同一数层不能重复,这个在写代码时需要注意力扣题目链接这题看起来和 46.全排列 一样都用了used,但是由于使用了排序,那么代码中的逻辑就可以保证本树层不会重复放入相同元素。有关这种去重的问题还需要多练习和思考原理。
2023-05-17 04:22:36
235
原创 算法学习记录~2023.5.13~回溯Day2~39. 组合总和 & 40.组合总和II & 131.分割回文串 & 93.复原IP地址 & 78.子集
力扣题目链接力扣题目链接切割问题可以抽象为组合问题如何模拟那些切割线切割问题中递归如何终止在递归循环中如何截取子串如何判断回文本题下次还需要仔细看一遍,关于回溯函数里终止条件和递归过程中的具体数值模拟可以脑子里再自己想一下。第一遍时终止条件没有想太清楚,关于每一小段的ip地址的合法性验证也没有考虑全,再刷时需要靠自己注意一下。一开始想成了分别设置不同的节点范围,以这个范围大小一次次遍历找到所有符合的子集,然后再更改这个节点范围知道最终等于整个数组大小,这样就很复杂。
2023-05-16 16:24:23
112
原创 算法学习记录~2023.5.12~回溯Day1~77. 组合 & 216.组合总和III & 17.电话号码的字母组合
回溯法也叫回溯搜索法,是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯,所以回溯函数其实也就是递归函数。力扣题目链接力扣题目链接数字和字母如何映射两个字母就两个for循环,三个字符我就三个for循环,以此类推,然后发现代码根本写不出来,因此需要回溯算法输入1 * #按键等等异常情况(本题测试数据倒是不涉及)
2023-05-13 23:52:45
78
原创 算法学习记录~2023.5.11~二叉树Day9~108.将有序数组转换为二叉搜索树 & 538.把二叉搜索树转换为累加树
力扣题目链接思路较为简单,注意点第一个是关于取mid值时的溢出问题,另一个是处理左右区间的判断条件。迭代法中处理左右区间的条件自己第一次思考没太想出来,下次注意。
2023-05-12 14:36:03
152
原创 算法学习记录~2023.5.10~二叉树Day8~701.二叉搜索树中的插入操作 & 450.删除二叉搜索树中的节点 & 669. 修剪二叉搜索树
一上来很容易想到要重构二叉树,因而思考的特别复杂,但是由于二叉搜索树性质,一定能找到仍旧为空节点的属于目标节点的位置,因此其实并不需要重构,找到满足条件的空节点然后将目标节点插入为新的叶子节点即可力扣题目链接很容易犯只考虑当前节点的左右子节点,而忽略了他的子树不一定全都不符合要求。
2023-05-11 04:21:22
192
原创 算法学习记录~2023.5.9~二叉树Day7~501.二叉搜索树中的众数 & 236. 二叉树的最近公共祖先 & 235. 二叉搜索树的最近公共祖先
力扣题目链接求最小公共祖先,需要从底向上遍历,那么二叉树,只能通过后序遍历(即:回溯)实现从底向上的遍历方式。在回溯的过程中,必然要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断。要理解如果返回值left为空,right不为空为什么要返回right,为什么可以用返回right传给上一层结果。对于有序树,不需要回溯直接利用自带的方向性按序寻找即可,也因此本题迭代法显得更简洁。
2023-05-10 08:56:48
105
原创 算法学习记录~2023.5.8~二叉树Day6~617.合并二叉树 & 700.二叉搜索树中的搜索 & 98.验证二叉搜索树 &530.二叉搜索树的最小绝对差
力扣题目链接力扣题目链接二叉搜索树的中序遍历是有序数组需要意识到并且善加利用陷阱1非常容易被忽略,也就是只处理每个节点和它左右节点的大小关系,而忘了整个子树的所有节点和根结点的大小关系也需要确定。
2023-05-09 05:14:06
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人