CodingWithAlice

我的一方小天地,如果对你有帮助,那真的太好了

344. 反转字符串

344. 反转字符串 题目: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 ​ 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 ​ 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 解答: 方法一: 利用数组自带的 reverse 方法...

12-1 内存泄漏

12-1 内存泄漏 参考文章:深入了解内存泄漏 核心要点记录: 内存泄漏:如果这段数据已经不再需要了,但是又没有销毁。 几种垃圾回收机制:详情看上一篇 垃圾回收机制,标记-清除、标记-整理等算法 如何避免内存泄漏: 1 尽可能少地创建全局变量 2 手动清除定时器 3 少用闭包 ...

821. 字符的最短距离

821. 字符的最短距离 题目: 输入字符串 s 和字母 c,已知 c 在 s 中出现过。 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。 备注:两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数 解答: ...

Service worker

Service worker 参考文章:浏览器架构 定义/作用:一种可以 web 开发者控制缓存的技术 注意:Service worker 中的代码是运行在渲染进程中的 当访问一个 URL 开始时,网络线程 会根据域名检查是否有 Service worker 会处理当前地址的请求,如果有,则 UI 线程 会找到对应的 渲染进程 去执行 Service worker 的代码,而 Ser...

前端路由的两种模式

前端路由的两种模式 参考文章:hash模式和 history模式 核心要点记录: 前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求 单页面应用(只有一个 html 文件)利用 js 动态变换网页内容,避免了页面重载;路由提供了浏览器地址变化,网页内容也跟随变化 vue-router 默认 hash 模式 hash 模式 - #:...

事件流 + 事件模型 + js绑定事件的几种方法

事件流 + 事件模型 + js绑定事件的几种方法 参考文章:绑定事件、事件模型 核心要点记录: 事件流: 事件冒泡:从下往上的传播方式 - 事件最开始由最具体的元素然后逐渐向上传播到DOM中最高层的父节点 window -> document -> html -> body -> … 事件捕获:与事件冒泡相反,事件最开始由不太具体的节点最早接受事件,...

69. x 的平方根

69. x 的平方根 题目: 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 解答: 方法一:遍历 平方根 <= x/2,取 x 的一半(取向上靠近的整数) 时间复杂度:O(n),空间复杂度:xx var mySqrt = function(x) { let mid = Math.cei...

跨页面通信

跨页面通信(7种) 参考文章:跨页面通信 两个页面之间的通信会涉及到同源策略的限制,所以按照是否满足同源策略的限制分成两大部分来看。 同源页面间的通信 1-3 三种类型都是有一个“中央站”的概念,由中央站再通知给各个页面 1/6、广播式通信 BroadCast Channel 主要参考文章: 前端广播式通信:Broadcast Channel 核心要点: 所有...

子盒子在父盒子中水平垂直居中有几种方法?

子盒子在父盒子中水平垂直居中有几种方法? <head> <style> .father { width: 800px; height: 650px; } .child { width: 300px; height: ...

CSS性能优化

CSS性能优化 一、写法优化 简化选择器:id选择器不用嵌套;减少 * 通配符、[hidden=‘true’] 属性选择器;利用继承机制,少写新类名【CSS 选择器是从右向左进行匹配的,避免匹配的开销】 尽量避免重排:重新计算元素位置和几何结构 减少使用昂贵属性 - 需要浏览器进行操作或计算的属性:box-shadow、border-radius、透明度、:nth-chil...