02- 浏览器运行原理
从输入路径开始,浏览器是怎样一步步渲染出页面的呢? 网页的解析过程输入地址 —> DNS解析 —> 服务器响应 —> 浏览器响应一个网页URL从输入到浏览器中,到显示经历怎样的过程呢? 浏览器内核常见的浏览器内核:我们常说的浏览器内核指的是浏览器的排版引擎,也称之为页面渲染引擎或样板引擎。 浏览器渲染流程详细内容可看我的另一篇博客:浏览器渲染原理 解析html因为默认情况下服务器会给浏览器返回index..html文件,所以解析HTML是所有步骤的开始:解析HTML,会构建DOM Tree: 生成css规则浏览器在解析html时遇到 css 的<link>时会开启另外一个线程对css文件进行下载,这也就不会影响到dom tree的生成;下载完css文件后就会对其进行解析,生成对应的cssom树。 构建render tree当有了DOM Tree和CSSOM Tree两部分之后,就可以结合来生成Render Tree了。 注意❗️ link元素不会阻塞DOM Tree的构建,但是会阻塞Render Tree的构建,因为构建Render...
01- this的指向规则
this 到底指向谁? 箭头函数中的this还能使用吗? 如果能使用又要怎么使用呢? 与普通函数的this指向一致吗? this到底指向谁?首先,定义一个函数: 三种不同的调用方式,this的指向也会不同! 直接调用 foo() // window{} 通过对象调用 var obj = { name: 'name' }obj.foo = fooobj.foo(); // Object{} (obj这个对象) call/apply/bind foo.apply(“abc”) // String {‘abc’} 结论: 函数在调用时,js会默认给this绑定一个值; this的绑定跟它**定义的位置(编写的位置)**没有关系; this的绑定与调用方式以及调用的位置有关; this是在运行时被绑定的。 this的绑定规则默认绑定 普通函数被独立调用 foo() //...