高级 Promise 模式:Promise缓存
在本文中,我们将介绍常见的缓存实现在并发条件下存在的问题。然后我们将介绍如何修复它,并且在此过程中简化代码。我们将通过介绍 基于 Singleton Promise 模式 的 Promise Memoization 模式来做到这一点。
为什么 async/await 不仅仅是语法糖
开篇观点,async/await 不仅仅是 Promise 上面的语法糖,因为 async/await 确实提供了切实的好处。async/await 让异步代码变成同步的方式,从而使代码更具表现力和可读性。async/await 统一了异步编程的经验;以及提供了更好的错误堆栈跟踪。
【面试题】js 问号(?)的强大之处,你知道吗?
我们都知道第二个代码中打印的年龄和爱好是会报错的,因为我们在打印age和hobby时都已经是undefined的了,在undefined中有打印data属性肯定是没的了,也就报错了。
JavaScript中的可变性与不可变性
不可变性(Immutability)是函数式编程的核心原则,在面向对象编程里也有大量应用。在这篇文章里,我会给大家秀一下到底什么是不可变性(Immutability)、她为什么还这么屌、以及在JavaScript中怎么应用。
一种比css_scoped和css_module更优雅的避免css命名冲突小妙招
我们知道,简单的class名称容易造成css命名重复,比如你定义一个class;如果别人刚好也定义了一个className:.main,你的float:left就会影响到它。
JS中==和===的区别
使用双等号进行相等判断时,如果两边的类型不一致,则会进行强制类型转化后再进行比较;使用三等号进行相等判断时,如果两边的类型不一致时,不会做强制类型准换,直接返回 false;
24个关于设备视窗口的 CSS 单位
过去CSS 有 4 个你必须知道的识别视窗口的单位,并且它们能够很好地处理每个可以想象的用例。然而,随着时间的推移和时代的变化,这 4 种视口单位现在不足以解决所有用例。
使用 JavaScript 的数据结构:堆栈和队列
Web 开发中最常用的两种数据结构是堆栈和队列。许多 Internet 用户,包括 Web 开发人员,都没有意识到这一惊人的事实。如果您是这些开发人员中的一员,那么请准备好两个具有启发性的示例:文本编辑器的撤消操作使用堆栈来组织数据
JavaScript框架大战已结束,赢家只有一个
框架之战是 JavaScript 社区中的热门话题,也是业界众多圣战之一。一开始,jQuery 崭露头角,接下来 AngularJS 初露锋芒,再到现代框架混战,战争愈演愈烈。