喜欢接触新鲜事物,不断尝试改变,今天的自己一定比昨天的更好。 获得徽章 16
掘金福利兑换,是啥时候更新啊,我想换个大宝
#每天一个知识点# 使用强缓存策略时,如果缓存资源有效,则直接使用缓存资源,不必 再向服务器发起请求。强缓存策略可以通过两种方式来设置,分别是 http 头信息中的Expires 属性和 Cache-Control 属性
#每天一个知识点# JS 引擎线程也称为 JS 内核,负责处理 Javascript 脚本程序,解析Javascript 脚本,运行代码;JS 引擎线程一直等待着任务队列中任务的到来,然后加以处理,一个 Tab 页中无论什么时候都只有一个JS 引擎线程在运行 JS 程序; 注意:GUI 渲染线程与 JS 引擎线程的互斥关系,所以如果 JS 执行的时间过长,会造成页面的渲染不连贯,导致页面渲染加载阻塞。
#每天一个知识点# babel 的转译过程也分为三个阶段,这三步具体是: 1、解析 Parse: 将代码解析⽣成抽象语法树(AST),即词法分析与语法分析的过程; 2、转换 Transform: 对于 AST 进⾏变换⼀系列的操作,babel 接受得到 AST 并通过 babel-traverse 对其进⾏遍历,在此过程中进⾏添加、更新及移除等操作; 3、⽣成 Generate: 将变换后的 AST 再转换为 JS 代码, 使⽤到的模块是 babel-generator
#每天一个知识点# bundle:是由 webpack 打包出来的⽂件; chunk:代码块,⼀个 chunk 由多个模块组合⽽成,⽤于代码的合并和分割; module:是开发中的单个模块,在 webpack 的世界,⼀切皆模块,⼀个模块对应⼀个⽂件,webpack 会从配置的 entry 中递归开始找出所有依赖的模块。
#每天一个知识点# Webpack 是基于模块化打包的⼯具: ⾃动化处理模块,webpack 把⼀ 切当成模块,当 webpack 处理应⽤程序时,它会递归地构建⼀个依赖关系图 (dependency graph),其中包含应⽤程序需要的每个模块,然后将所有这些模块打包成⼀个或多个 bundle。
#每天一个知识点# 函数防抖是指在事件被触发 n 秒后再执行回调,如果在这 n 秒内事 件又被触发,则重新计时。这可以使用在一些点击请求的事件上,避免因为用户的多次点击向后端发送多次请求。 函数节流是指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。
#每天一个知识点# 浏览器针对页面的回流与重绘,进行了自身的优化——渲染队列。 浏览器会将所有的回流、重绘的操作放在一个队列中,当队列中的操作到了一定的数量或者到了一定的时间间隔,浏览器就会对队列进行批处理。这样就会让多次的回流、重绘变成一次回流重绘。 将多个读操作(或者写操作)放在一起,就会等所有的读操作进入队列之后执行,这样,原本应该是触发多次回流,变成了只触发一次回流。
#每天一个知识点# 变量是程序在内存中申请的一块用来存放数据的空间。即存放数据的一个容器。通过变量名获取数据并修改。变量值是存入变量空间内的值。
#每天一个知识点# JS的数据类型分为两大类,基本数据类型(String、Number、Boolean、Null、Undefined、Symbol) 和 引用数据类型 (Object)。基本数据类型是保存到栈内存中的,而引用数据类型是保存在堆内存中的(严格来讲,是由栈区和堆区共同保存,栈区保存变量标识符和指向堆内存的地址)。
下一页