CodingWithAlice

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

bind、apply/call三者异同+apply/call实现bind

bind、apply/call三者异同+apply/call实现bind 共同点 改变函数执行时的上下文 this 『第一个参数 **如果不传,则默认为全局对象 `window`**』 区别 apply/call 立即执行 ;bind 方法的返回值是函数,需要 再次调用,才会执行 第二个参数:call -...

怎么判断数组类型?4种方法

怎么判断数组类型?4种方法 Array.isArray,instanceof,constructor,Object.prototype.toString.call(),typeof ① Array.isArray方法【最靠谱】 MDN:它不检查值的原型链,也不依赖于它所附加的 Array 构造函数。 对于使用数组字面量语法或 Array 构造函数创建的任何值,它都会返回 tru...

数组扁平化(拍平数组)

数组扁平化(拍平数组) 参考文章:数组拍平连环问 - 只研究到第二问 reduce,没有再深入,一共七问 题目: 如何实现 flat 方法?多维数组=>一维数组 解答: 方法一: 直接调用 Array 的 flat 方法 - arr = arrays.flat(Infinity); 作用是将嵌套的数组“拉平”,变成一维的数组。返回一个新数组,对原数据...

204. 计数质数

204. 计数质数 题目: 统计所有小于非负整数 n 的质数的数量。 解答: 方法一:暴力遍历 - 超时 时间复杂度:O(n*sqrt(n)),空间复杂度:O(1) var countPrimes = function (n) { let times = 0; if (n < 2) { return 0 ...

9. 回文数

9. 回文数 题目: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 进阶:你能不将整数转为字符串来解决这个问题吗? 解答: 方法一:转换成字符串处理 时间复杂度:O(n),空间复杂度:xx ...

70. 爬楼梯

70. 爬楼梯 题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 解答: 方法一:自己想的 时间复杂度:O(n),空间复杂度:xx 主要逻辑:以 2 的个数作为概率计算的循环,引用了阶乘处理方法 参考函数如右概率计算公式 var climbStair...

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 Service Worker 是一种在 Web 浏览器后台运行的脚本,它可以拦截和处理网络请求、实现离线缓存、推送通知等功能。 注意:Service worker 中的代码是运行在渲染进程中的 当访问一个 URL 开始时,网络线程 会根据域名检查是否有 Service worker 会处理当前地址的请求,如果有,则 UI 线程 会找到对应的 渲染进程 去执...