JavaScript异步机制 来源:https://www.cnblogs.com/zhaodongyu/p/3922961.html JavaScript是单线程异步执行的,单线程意味着代码在任务队列中会按照顺序一个接一个的执行.异步代表JavaScript代码在任务队列中的顺序并不完全等同于代码的书写顺序,比如事件绑定.Ajax.setTimeout()等任务的发生时间是"不可被预期"的. 页面加载时,JavaScript引擎会顺序执行页面上所有JavaScript代码,优先执行同…
Ajax(Asynchronous JavaScript and XML) 这种技术就是无须刷新页面即可从服务器中取得数据,但不一定是XML数据.在原生方法上,Ajax技术的核心是XMLHttpRequest对象(简称XHR). XHR用法 open(method, url, isAsync) 开启一个method类型的请求,url是相对于当前页面(也可以是绝对路径),open方法并不会真正发送请求,而只是启动一个请求已备发送. send(data) 接收作为请求主体发送的数据,如果不需要必须传…
Promise Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大. 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. Promise对象代表一个异步操作,有三种状态: pending(进行中).fulfilled(已成功)和rejected(已失败). 只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态. 回顾ES5中若要实现以下异步编程逻辑,将会形成回调地狱(回调不断嵌…
Iterator 迭代器是一种接口.是一种机制. 为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). Iterator 的作用有三个: 为各种数据结构,提供一个统一的.简便的访问接口: 使得数据结构的成员能够按某种次序排列: 主要供for...of消费. Iterator本质上,就是一个指针对象. 过程是这样的: (1)创建一个指针对象,指向当前数据结构的起始位置. (2)第一次调用指针对象的next方法,…
来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度,蓝色为基线(字母x底部所在的水平线) 行内元素: 行内块元素: (左)在流内内容的情况下,内联块元素的基线是正常流中最后一个内容元素的基线(左边的例子).对于这最后一个元素,它的基线是根据它自己的规则找到的. (中)在流内内容但内联块元素有overflow:hidden属性的情况下,基线是内联块元素…
flex布局 来源: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器".它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目". 容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis).主轴的开始位置(…
jQuery jQuery的实现原理 参考:https://blog.csdn.net/zhouziyu2011/article/details/70256659 外层沙箱和命名空间$ 为了避免声明了一些全局变量而污染,把代码放在一个"沙箱执行".jQuery具体的实现,都被包含在了一个立即执行的匿名函数构造的闭包里面,然后只暴露 $ 和 jQuery 这2个变量给外界: (function(window, undefined) { // 用一个函数域包起来,就是所谓的沙箱 // 在这…
CORS(cross origin resource sharing)跨域资源共享 来源:http://www.ruanyifeng.com/blog/2016/04/cors.html 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制. 简介 CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,IE浏览器不能低于IE10. 整个CORS通信过程,都是浏览器自动完成,不需要用户参与.对于开发者来说,CORS通信与同源的AJAX通信…
async函数 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是 Generator 函数的语法糖 什么是语法糖? 意指那些没有给计算机语言添加新功能,而只是对人类来说更"甜蜜"的语法.语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读.不过其并没有给语言添加什么新东西 async函数使用时就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已 async函数对 Generato…
BFC布局(Block Formatting Contexts) 来源:https://www.cnblogs.com/lzbk/p/6057097.html 块级格式化上下文是页面中的一块渲染区域,它决定了其子元素将如何定位,一起和其他元素的关系和相互作用. BFC的特性 内部的box会在垂直方向,从顶部开始一个接着一个地放置 box 垂直方向的距离由margin(外边距)决定.属于同一个BFC的两个相邻box的margin会发生叠加(垂直方向上的外边距合并问题) BFC的区域不会与float…