前端学习日志

笔记索引

八股文及面试技巧:
背诵
面试要求
春招总结

HTTP协议栈
tcp粘包
HTTP字节笔记

HTML:
基础语法
事件冒泡

js:
基础语法
构造函数相关
ES6
青训营js相关笔记
npm安装位置

框架:

css:
基础语法
盒子模型
css隐藏元素

git:
Git教程
可视化学习
Bash命令查询

算法:
算法和北京互联网公司总结

常用链接
freecodecamp
js 30Days

日志

2021.11.19
零零散散学了好几天,还是很焦虑,觉得还是有必要每天做点总结。那就从今天开始吧。
今天晚起了,中午到学校开始自习,刷了两道leetcode,三数之和通过315/318,堆溢出了。每日一题是整数替换很简单。
Pink 老师的DOM BOM p22-p23
晚上有时间翻翻红宝书(X)

2021.11.20
忙了一下午的unmanned,刷了两道leetcode,后缀表达式和最长和谐子序列

2021.11.21
leetcode:
N 叉树的最大深度。题目描述不清,浪费时间
从根节点到叶节点的路径数字之和。dfs
目标和。回溯法

  • (试一下dp)

改了下multimedia 的node-red
60min红宝书

2021.11.22

  • 494.目标和dp做法
    红宝书看了一点

2021.11.23
看了大半天的cyber security。红宝书也没咋看,晚上杂事耗了好多时间,唉,起码把每日一题刷了。
859. 亲密字符串(这通过率,配上简单tag真是戏谑),简单是简单,烦是真的烦,字符串的方法永远记不住,搞那么多像的单词做方法名真的无语(ˉ▽ˉ;)…

2021.11.25
90min红宝书
面试题 08.11. 硬币中等难度dp,值得再看看
剑指 Offer 64. 求1+2+…+n考察逻辑运算符的短路性质
可怜的小猪每日一题,有关信息论的题,hard,不做也罢
PS:for-in 不要用于数组,具体原因等后面看红宝书再补

2021.11.26
700. 二叉搜索树中的搜索很简单的递归,但是一开始返回做错了,抽空可以再看一下

2021.11.27
519. 随机翻转矩阵
一维下标映射二维数组(m*n),记得考虑取整

x=Math.floor(index/n)
y=Math.floor(index%n)

剑指 Offer 66. 构建乘积数组|需要考虑元素为零
46. 全排列递归,做的有点乱,有时间需要再看看

2021.11.28
438. 找到字符串中所有字母异位词|是个好题,值得再做一下,双指针

2021.11.29
786. 第 K 个最小的素数分数最优解是优先队列,暴力法能做,但是效率很低。
红宝书看到for-in之前

2021.11.30
11月最后一天了,日子过的好快,还要准备final
400. 第 N 位数字题目不难,但是边界条件需要考虑比较多,花了不少时间,最终代码效率还是不错的

2021.12.01
美好的一天(月)从easy的每日一题开始。1446. 连续字符
325. 和等于 k 的最长子数组长度考察前缀和+hashmap,第一次做这类,js的map插入是set(),别记混了(java才是put)
今天主要在复习计网,顺便看了看面试相关。

2021.12.02
506. 相对名次easy
1151. 最少交换次数来组合所有的 1看了tag知道是用滑动窗口就很简单

2021.12.03
1005. K 次取反后最大化的数组和

  • 需要学习一下优先队列

2021.12.04
383. 赎金信很简单的字符计数题

2021.12.05
372. 超级次方快速幂变体,值得再看看

2021.12.06
1816. 截断句子easy
43. 字符串相乘medium 思路有点乱

  • 抽空看下题解

2021.12.26
final结束,继续整理…
主要还是要把布局重新看一下
react也同步往前推

  • jsx (js & xml)涉及到一个点 虚拟Dom,需要抽空看一下。 遇到< 当作 html解析 遇到{ 当作js解析。
  • class在react里写className
  • 自定义组件必须首字母大写
  • render写了括号js就可以换行
  • js默认必须有最外层包裹(必须放在一个父级div下),如果要修改需要引入Fragment组件
  • 面试可能会考createElement
  • 数据驱动,不用考虑操作Dom
  • onChange {}
  • React事件处理函数中的this指向问题(undefined问题)

2021.12.27

  • 块级元素居中对齐:在指定宽度条件下设置margin左右为auto(可写为margin: 0 auto,其中0为上下margin可以改为其他值)
  • 行级元素居中对其,在父级元素种添加text-align:center
  • 避免外边距合并 父级添加overflow:hidden
  • 浏览器会指定默认内外边距,设置:*{ padding:0; margin:0}
  • 清楚浮动(父元素没有给高度)选择器{clear:both/left/right;}

2021.12.30
在这里插入图片描述
2022.1.2
在这里插入图片描述
2022.1.4
转载
6.ref存在的问题以及ref常用情况
6.1 Ref存在的问题
如果ref回调函数以inline函数的方式来指定,那么在组件更新的时候ref回调会被调用2次。第一次回调的时候传入的参数是null,而第二次的时候才真正的传入DOM节点。这是因为,每次渲染的时候都会产生一个新的函数实例(每次都会产生一个新的函数,而不是单例模式或者设置到原型链中的函数),而React需要清除前一个ref,然后才设置一个新的ref。通过在class中指定ref回调函数可以有效的避免这种情况。但是,在大多数情况下这并不会有什么影响。

6.2 Ref常用情况
第一:管理焦点,文本选择,媒体播放(媒体回放)
第二:触发动画
第三:集成第三方的DOM库

2022.1.5
componentWillReceiveProps函数触发时机:

  • 当组件第一次存在与DOM种,函数执行
  • 如果已经存在于DOM中,函数才会被执行

完整生命周期 16.4以上版本:
在这里插入图片描述
目前,如果 shouldComponentUpdate() 返回 false,则不会调用 UNSAFE_componentWillUpdate(),render() 和 componentDidUpdate()。后续版本,React 可能会将 shouldComponentUpdate 视为提示而不是严格的指令,并且,当返回 false 时,仍可能导致组件重新渲染

2022.1.7
更新js笔记(箭头函数this,隐式转换相关)

2022.1.8
css隐藏元素

2022.1.15
doctype,不写渲染格式可能错误
自定义组件才大写

blockquote块级引用
<cite>引用标题、来源</cite>
<q>引用内容<q/>
<code></code>单行代码
<pre><code>
多行代码
</code></pre>
strong突出内容严重紧急,em语气强调

a img script 因为是很早的标准,当时未考虑跨域问题,现在为了向前兼容,也不做限制
img https 不能引入http的链接
使用button, 不要再用input type=button

面试html:语义化+特性

a[正则选择]
{
}

font-family最后写上通用字体族
英文字体放在中文之前
原生css @import有性能问题,如果用less等工具会将相关文件打包,就不存在性能问题
优雅降级:如果要使用新特性->提供可用兼容版本
渐进增强
伪元素用于选择一般较难选中的元素(比如列表第一个)
css继承:
文字相关可继承
盒模型相关不可继承,可以使用inherit关键字去修改
继承不到就使用初始值
计算值很重要(继承时候有用到,是继承父元素的计算值)

宽高auto根据容器的content box计算得到
只有父容器宽高不是auto 百分数才会生效
padding百分比是相对于父容器的宽度
margin 合并
推荐使用border-box
ifc默认基线对齐,可以用vertical-align设置对齐
图文环绕采用float
层叠上下文 z-index(作用范围在同一个层叠上下文

  • 看下MDN

2022.1.16
在这里插入图片描述
无js:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
轮播图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自定义事件解耦
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
超过14行代码要重构了

2022.1.17
https://blog.csdn.net/qq_43490991/article/details/122535341
首屏时间 白屏时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arequitae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值