1. 每周一例
每周解决一个问题,问题可以是不懂的,理解模糊的,工作中遇到的需求等~
- 防抖和节流(已完成)
- Web元素拖动效果(待完成)
- Vue骨架屏(待完成)
什么是防抖和节流?
大多数情况下函数在短时内只需要触发一次即可,但是由于用户操作问题短时间内大量触发函数导致, 而实际只需要第一次或者最后一次触发的结果,中间的函数触发没有意义,这就导致了性能浪费。
2. 正则表达式
如下示例中贪婪与非贪婪模式区别是在匹配字符时
贪婪模式
贪婪模式会匹配最大长度的字符串
# 第一版 查找出《以父之名》
# 开头 <div id="001" class="box">
# 结尾 </div>
def find_yfzm():
print('找出以父之名歌曲')
pattern = r'(?<=<div title="以父之名" class="box">)[\s\S]*(?=</div>)'
print(pattern)
print(re.findall(pattern, fo))
非贪婪模式
非贪婪模式匹配最小长度的字符串
def find_yfzm():
print('找出以父之名歌曲')
pattern = r'(?<=<div title="以父之名" class="box">)[\s\S]*?(?=</div>)'
print(pattern)
print(re.findall(pattern, fo))
固化分组内的字符串匹配成功后将不会被后续匹配规则进行回溯,相当于锁定。