JavaScript

Promise实现原理

1.promise 函数的参数(executor)是一个函数,这个函数有两个参数resolvereject,这两个参数也都是函数,分别在promise成功和失败时调用。 2. 当构建一个promise实例时,会自动调用这个函数(executor) 3. 每个promise …

浏览器的缓存机制梳理

概述 浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文,HTTP报文分为两种: HTTP请求(Request)报文,报文格式为:请求行 – HTTP头(通用信息头,请求头,实体头) – 请求 …

浏览器常见跨域方式梳理

跨域是由于浏览器同源策略导致的,所以跨域只存在于浏览器端,非浏览器端不存在跨域问题,浏览器对跨域的请求、应答都能正常发送接收,只是浏览器在接收跨域应答时,将应答拦截了,所以我们需要一些额外的处理或设置让浏览器将跨域的应答返回给我们。 常见的跨域处理方式有: jsonp CORS iframe + …

JavaScript之apply、call和bind的模拟实现

apply() apply 方法传入两个参数:一个是作为函数上下文的对象,另外一个是作为函数参数所组成的数组。当第一个参数为 null 时,函数上下文为 window。 1 2 3 4 5 6 7 8 9 var obj = { name : 'luke' } function …

浏览器渲染之回流(Reflow)与重绘(Repaint)

回流(Reflow)和重绘(Repaint)的定义 回流(Reflow) 对于DOM结构中的各个元素都有自己的盒子(模型),这些都需要浏览器根据各种样式(浏览器的、开发人员定义的等)来计算,并根据计算结果将元素放到它该出现的位置,这个过程称之为reflow。 重绘(Repaint) 当各种盒子的位 …

2 of 3