03 2023 档案

摘要:什么情况会阻塞渲染? 首先渲染的前提是生成渲染树,所以 HTML 和 CSS 肯定会阻塞渲染。如果你想渲染的越快,你越应该降低一开始需要渲染的文件大小,并且扁平层级,优化选择器。然后当浏览器在解析到 script 标签时,会暂停构建 DOM,完成后才会从暂停的地方重新开始。也就是说,如果你想首屏渲染 阅读全文
posted @ 2023-03-15 12:55 hellocoder2029 阅读(29) 评论(0) 推荐(0) 编辑
摘要:浏览器缓存步骤 1)浏览器在加载资源时,先根据这个资源的一些http header判断它是否命中强缓存,强缓存如果命中,浏览器直接从自己的缓存中读取资源,不会发请求到服务器。比如某个css文件,如果浏览器在加载它所在的网页时,这个css文件的缓存配置命中了强缓存,浏览器就直接从缓存中加载这个css, 阅读全文
posted @ 2023-03-15 12:55 hellocoder2029 阅读(244) 评论(0) 推荐(0) 编辑
摘要:display:none与visibility:hidden的区别 这两个属性都是让元素隐藏,不可见。两者区别如下: (1)在渲染树中 display:none会让元素完全从渲染树中消失,渲染时不会占据任何空间; visibility:hidden不会让元素从渲染树中消失,渲染的元素还会占据相应的空 阅读全文
posted @ 2023-03-15 12:55 hellocoder2029 阅读(43) 评论(0) 推荐(0) 编辑
摘要:前言 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在的对象。 下面是一个实际的例子。 var person = { 阅读全文
posted @ 2023-03-15 12:54 hellocoder2029 阅读(17) 评论(0) 推荐(0) 编辑
摘要:代码输出结果 console.log(1); setTimeout(() => { console.log(2); Promise.resolve().then(() => { console.log(3) }); }); new Promise((resolve, reject) => { con 阅读全文
posted @ 2023-03-02 08:44 hellocoder2029 阅读(26) 评论(0) 推荐(0) 编辑
摘要:JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个概念一知半解,碰到问题靠“猜”,却不理解它的规则! prototype 只有函数有prototype属性 let a 阅读全文
posted @ 2023-03-02 08:43 hellocoder2029 阅读(46) 评论(0) 推荐(0) 编辑
摘要:代码输出结果 function runAsync (x) { const p = new Promise(r => setTimeout(() => r(x, console.log(x)), 1000)) return p } function runReject (x) { const p = 阅读全文
posted @ 2023-03-02 08:43 hellocoder2029 阅读(179) 评论(0) 推荐(0) 编辑
摘要:写在前面 javascript语言的执行环境是"单线程"(single thread),就是指一次只能完成一件任务。如果有多个任务,就必须排队,等前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等 阅读全文
posted @ 2023-03-02 08:43 hellocoder2029 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示