JS省略分号导致的灾难

挺长一段时间在纠结写JavaScript代码要不要打分号。这是一个个人风格问题,以下观点仅代表个人喜好。不要省略分号!不要省略分号!不要省略分号!虽然js引擎执行代码时会自动插入分号,但有些时候省略分号可能导致一些隐蔽的问题。return语句return后面会被自动插入分号,所以下面的代码返回und
代码规范 2020年05月05日 237次浏览

webpack模块加载机制

前端项目的规模越来越庞大,模块化开发已经是普遍需求。早期的打包工具将所有模块化的代码打包到一个bundle文件中,在一个简单的html文件中引入脚本。webpack允许输出为多个bundle文件,从而实现按需加载,更好的利用浏览器缓存,提升用户体验。这里不讨论如何配置webpack,只说webpac
webpack 2020年04月26日 318次浏览

彻底搞懂JavaScript怪异函数——bind

我们可能遇到过实现bind函数这样的题目,但似乎并不存在完美模拟原生bind函数的可能。ECMAScript2015中将bind创建的函数称为exoticfunctionobject(怪异函数对象),这很适宜,因为它的确存在一些“怪异”之处。在继续之前我们需要先了解bind函数。这可以参考MDN的解
javascript 2020年03月26日 586次浏览

JavaScript微任务与宏任务(浏览器)

问题描述最近在用Ionic框架(基于Angular),有这么一个需求:先调用history.go(-delta)返回到某个页面,再调用Angular的Router#navigate()导航到新的页面。大致代码如下:go(delta,url){history.go(delta)this.router.
javascript web 2020年02月01日 443次浏览

Javascript的in操作符

2019年8月13日javascript的in操作符用于判断某个名称的属性是否存在于某个对象的原型链中。语法:propinobjectprop是string类型或Symbol类型,其他类型会被转化为string,返回值是布尔值,如果object.prop存在则返回true,否则返回false。需要注
javascript 2019年08月13日 228次浏览