道招
CKEditor系列(一)CKEditor4项目怎么跑起来的
我们先看CKEditor的入口ckeditor.js,它里面有一部分是压缩版,压缩版部分对应的源码地址为src/core/ckeditor_base.js // src/core/ckeditor_base.js if ( !window.CKEDITOR ) { window.CKEDITOR = ( function() { var basePathSrcPattern
《浏览器工作原理与实践》笔记之事件循环队列
为了能让你更加深刻地理解事件循环机制,我们就从最简单的场景来分析,然后带你一步步了解浏览器页面主线程是如何运作的。 使用单线程处理安排好的任务 我们先从最简单的场景讲起,比如有如下一系列的任务: 任务 1:1+2 任务 2:20/5 任务 3:7*8 任务 4:打印出任务 1、任务 2、任务 3 的运算结果 现在要在一个线程中去执行这些任务,通常我们会这样编写代码:
《浏览器工作原理与实践》笔记之垃圾回收
先了解下垃圾回收领域的重要术语——代际假说和分代收集。 代际假说 第一个是大部分对象在内存中存在的时间很短,简单来说,就是很多对象一经分配内存,很快就变得不可访问; 第二个是不死的对象,会活得更久。 分代收集 在 V8 中会把堆分为新生代和老生代两个区域,新生代中存放的是生存时间短的对象,老生代中存放的生存时间久的对象。 新生区通常只支持 1~8M 的容量,由
《浏览器工作原理与实践》笔记之闭包问题解答
Q: function fn() { var a = 10 function f1() { console.log(a) }; function f2() { console.log('f2') }; f2(); }; fn(); 我在函数f2里打断点,当执行到函数f2时,chro
《浏览器工作原理与实践》笔记之从堆栈空间看闭包过程
基础 我们先看下面的代码 function foo(){ var a = "极客时间" var b = a var c = {name:"极客时间"} var d = c } foo() 执行第 4 行代码,由于 JavaScript 引擎判断右边的值是一个引用类型,这时候处理的情况就不一样了,JavaScr
关注道招网公众帐号
道招开发者二群