dasu's blog

I am dasu, and i'm coding


  • 首页

  • gitbook

  • 分类

  • 归档

  • 搜索

发现59版Chrome的数组排序sort有BUG

发表于 2020-03-24 | 分类于 前端源码解析
| 字数统计: 3.7k | 阅读时长 ≈ 15 min
背景先来看个代码: 1[1,2,13,14,5,6,17,18,9,10,11,12,31,41].sort(()=>0) 你觉得这个数组这么排序后,结果会是什么 按照我们正常理解,给 sort 方法传递的比较函数返回 0,那应该表示位置不用改变,所以应该是原数组输出,是把 你可以用你浏览器试试 结果也是你想的那样没错,不过啊,如果你的浏览器版本比较旧,比如跟我一样是 59 版本的,这时你 ...
阅读全文 »

从输入 URL 到页面加载都发生了什么

发表于 2020-02-27 | 分类于 面试题 , 前端
| 字数统计: 4.6k | 阅读时长 ≈ 16 min
从输入 URL 到页面加载都发生了什么 本文参考:从URL输入到页面展现到底发生什么? 这面试题简直神了,也不知道第一个想出这道题的是哪位大佬,这题说好答也好答,说难答也很难答 好答是因为,由于这题在面试中的高频出现,网上已经有一大堆讲这个的文章,比如现在又多了我这篇 难答是因为,这题涉及了前端里绝大部分的领域了 你想想,仅一道题,就把前端各领域的知识点都囊括了,每个知识点,面试官跟你深入的话, ...
阅读全文 »

内存分配以及垃圾回收机制

发表于 2020-02-25 | 分类于 面试题 , 前端
| 字数统计: 4.1k | 阅读时长 ≈ 13 min
内存分配以及垃圾回收机制 本文参考: 可视化分析js的内存分配与回收 本文面向面试,只罗列些概念 内存分配或者有的文章里叫内存模型,关于这类的文章,网上是真的多,你抄我,我抄你,不同文章里可能讲的还不一样,真令人头大 没办法,还没有能力能直接去阅读源码,直接去看规范,所以我这篇,也是抄来抄去的 顶多,我这是面向面试准备,所以只会罗列些概念,以及看了这么多篇文章后的一些疑惑、思考 疑惑还不是一 ...
阅读全文 »

内存泄漏的场景、监控以及分析

发表于 2020-02-24 | 分类于 面试题 , 前端
| 字数统计: 5.2k | 阅读时长 ≈ 18 min
内存泄漏的场景、监控以及分析Q:什么是内存泄漏? 字面上的意思,申请的内存没有及时回收掉,被泄漏了 Q:为什么会发生内存泄漏? 虽然前端有垃圾回收机制,但当某块无用的内存,却无法被垃圾回收机制认为是垃圾时,也就发生内存泄漏了 而垃圾回收机制通常是使用标志清除策略,简单说,也就是引用从根节点开始是否可达来判定是否是垃圾 上面是发生内存泄漏的根本原因,直接原因则是,当不同生命周期的两个东西相互通信时, ...
阅读全文 »

讲讲 EventLoop 以及任务源

发表于 2020-02-22 | 分类于 面试题 , 前端
| 字数统计: 817 | 阅读时长 ≈ 2 min
讲讲 EventLoop 以及任务源 本文参考:深入探究 eventloop 与浏览器渲染的时序问题 EventLoopEventLoop 也叫事件循环,是浏览器主线程的执行机制,用来协调浏览器各部分的工作,如 DOM 事件、用户交互、脚本、UI 渲染、网络请求等等 这些各部分的工作,基本都会作为任务源产生一个 task 队列,等待事件循环去处理 而事件循环则类似于一个 while(true) ...
阅读全文 »

讲讲浏览器渲染过程

发表于 2020-02-22 | 分类于 面试题 , 前端
| 字数统计: 2.6k | 阅读时长 ≈ 9 min
浏览器渲染过程 本文参考: 浏览器渲染详细过程:重绘、重排和 composite 只是冰山一角 你不知道的浏览器页面渲染机制 本文面向面试,只罗列些概念 event loop 规范 任务源产生任务,放入任务队列 eventloop 从不同优先级队列中取出 task 执行(一轮 eventloop 起点) 清空微任务队列(mircotask) 渲染工作,如有需要的话(一轮 eventloop ...
阅读全文 »

讲讲强缓存和协商缓存,F5 和 Ctrl + F5 的区别

发表于 2020-02-21 | 分类于 面试题 , 前端
| 字数统计: 1.8k | 阅读时长 ≈ 6 min
讲讲强缓存和协商缓存,F5 和 Ctrl + F5 的区别 本文参考: 深入理解浏览器的缓存机制 PS:本文面向面试题,所以只讲些知识点扫盲,详细分析自行查阅参考链接 基本概念网上常讲的强缓存和协商缓存(也有叫对比缓存)都是浏览器的缓存策略 需要先明确一点,既然是浏览器的缓存,缓存的数据都是存放于客户端的机子上的,只是根据优先级不同,存储位置不同,还可以进行细分而已,比如 Service Wor ...
阅读全文 »

讲讲同源策略以及跨域解决方案

发表于 2020-02-20 | 分类于 面试题 , 前端
| 字数统计: 1.3k | 阅读时长 ≈ 4 min
讲讲同源策略以及跨域解决方案 本文参考: 浏览器的同源策略 九种跨域方式实现原理(完整版) 同源策略同源限制策略是浏览器的行为,对于一个网页 (html),当它内部的脚本发起一个请求时,浏览器会对这个请求的资源做同源检测 只有协议、域名、端口三者都一致的,才算是同源,才能够正常拿到响应数据,否则,都称为跨域请求,浏览器会将响应结果进行拦截,请求虽然是发出去了,但代码上读取不到响应 以下这些操 ...
阅读全文 »

讲讲 XSS、CSRF、中间人攻击等

发表于 2020-02-17 | 分类于 面试题 , 前端
| 字数统计: 2.5k | 阅读时长 ≈ 9 min
讲讲 XSS、CSRF、中间人攻击等 本文参考:前端面试查漏补缺–(七) XSS攻击与CSRF攻击 XSS 攻击概念XSS:Cross-Site Script 跨站脚本攻击,是一种代码注入攻击 顾名思义,XSS 攻击就是将非源站的脚本注入到网页中执行来进行攻击,只要能将外部脚本注入到网页并让脚本代码运行,那么就可以通过 js 来获取一些隐私如 Cookie 等信息,甚至让网页重定向到危险网站或者 ...
阅读全文 »

说说 ES5 的几种继承方式

发表于 2020-02-15 | 分类于 面试题 , 前端
| 字数统计: 1.6k | 阅读时长 ≈ 6 min
说说 ES5 的几种继承方式在 ES6 还没出来前,让你写个继承,你会怎么写 比如,给你个场景:父类 A 具有属性 a 和方法 b,子类 B 继承父类 A ES6 继承用 ES6 来写的话,就很简单: 12345678910111213141516171819class A { constructor() { this.a = "A"; } ...
阅读全文 »
12…12
请叫我大苏

请叫我大苏

微信公众号:请叫我dasu
若图片显示异常,可到其他平台阅读

113 日志
20 分类
GitHub E-Mail
其他平台
  • 简书
  • 博客园
  • 个人网站
© 2019 — 2020 请叫我大苏
闽ICP备19024580号-1 |
博客全站共 412.1k 字
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4