两列布局 HTML 代码如下所示(假设它们的高度是确定的):<div class="parent"> <div class="aside"></div> <div class="content" ...
CSS魔法篇之flex布局
Flex 基础布局可以参考阮老师的文章,写的非常的详尽,并且配备了大量的示例。这里主要聊一聊 flex 的一些注意点。 轴对齐 在接下来的描述中,默认主轴为水平轴,交叉轴为垂直轴,并且书写模式为从左到右。与主轴对齐相关的属性是 justify-content,该属性设置于 flex 容器上。与 ...
Promise的一些尝试
前言 该文章不是 Promise 入门,不涉及基础讲解,只是博主对 Promise 的一些想法和尝试而已。 Promise 基本用法 Promise 是一个容器,里面保存着某个未来才会结束的事件。当这个未来事件结束后,可以通过 resolve 函数和 reject 函数来改变 Promise 的状 ...
异步编程通用解决方案
在该文中,我们希望封装一个异步函数的语法糖,使得它能够兼具回调函数、Promise、Generator 以及 async/await 的写法特点,形成一个通用的异步编程解决方案。目的是在异步编程的过程中,以不变的方法,应万变的方式。在本文中,前四小节主要介绍如何使用各种方式来进行异步函数 asy ...
CSS魔法篇之清除浮动
BFC BFC,全称为块级格式化上下文。对内,它是一个独立的渲染区域,只有块级框参与,它规定了内部的块级框如何布局,与这个区域的外部毫不相干;对外,它仍处在流布局中,与其它元素的布局方式无异。通常来说,我们所看到的 HTML 页面就是一个 BFC,该 BFC 由根元素创建,对页面中的所有块级框作用 ...
JavaScript高级程序回顾(六)——高级技巧
高级函数安全的类型检测 JavaScript 内置的类型检测机制并非完全可靠。一个众所周知的问题就是在运行typeof null时,会返回object,这往往不是我们想要的结果,这会使得真正的对象类型与null得到的结果相同。解决该问题的方法之一是使用Object.prototype.toStri ...
JavaScript高级程序回顾(五)——面向对象的JS
对象的构造字面量方式 使用对象字面量形式是一种常见的构造对象的方式,不再多说。如下:var person = { name: 'Julia', age: 23, address: { prov: 'Zhejiang', ...
JavaScript高级程序回顾(四)——飘忽不定的 this?
this 可谓是一个很让人头疼的问题了。以我的经验来看,我刚学完 this 的时候,看待 this 好像是看待自己亲儿子;一天以后,差不多就是干儿子了;再过一天,可能是充话费送的;然后,可能就是陌生人了…虽然这么说有点夸张,但是 this 确实是需要反复学习和琢磨的。这篇文章在我头脑比较清晰的时 ...
JavaScript高级程序回顾(三)——吓唬人的闭包
碎碎念 初学前端时,觉得闭包是个好难好难理解的概念啊。再加上本身闭包的重要性,以及各类看不懂的关于闭包的文章,更是打击了我的自信心。后来看了 JS 高程三中的相关章节,豁然开朗。下面,我尽量以最通俗的方式给大家讲一下神秘的闭包。 执行环境和作用域 要理解闭包,必须先对执行环境和作用域有一个概念。 ...
JavaScript高级程序回顾(二)——请求资源的那些事儿
以不变应万变的 XMLHttpRequest 在这个横行使用 Ajax 的时代,很多人对待 XMLHttpRequest(简称 XHR)的态度都是:“哦,我知道这个东西”,“那你来使用它简单实现一下 Ajax 吧”,“emmm…”,不了了之。好,废话不多说,下面我们一起揭开 XHR 并不神秘的面纱 ...