JS May 17, 2018

图说ES Modules

Words count 13k Reading time 12 mins.

原文:ES modules: A cartoon deep-dive, Lin Clark

ES modules(ESM) 是 JavaScript 官方的标准化模块系统。
然而,它在标准化的道路上已经...

Read article

JS May 17, 2018

图说ES Modules

Words count 13k Reading time 12 mins.

原文:ES modules: A cartoon deep-dive, Lin Clark

ES modules(ESM) 是 JavaScript 官方的标准化模块系统。
然而,它在标准化的道路上已经花费了近 10 年的时间。

可喜的是,标准化之路马上就要完成了。等到 2018 年 5 月 Firefox 60 发布之后,所有的主流浏览器就都支持 ESM 了。同时,Node 模块工作小组也正在为 Node.js 添加 ESM 支持。为 WebAssembly 提供 ESM 集成的工作也正在如火如...

Read article

JS May 01, 2018

封装常用的跨浏览器的事件对象

Words count 3.7k Reading time 3 mins.

最近把《javascript高级程序设计》看完了,发现里面有很多跨浏览器的代码,总结一下,方便记录。

var EventUtil = {
    addHandler: function(element,type,handler) { //事件监听
        if(element.addEventListener) {
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent) &#...
Read article

JS April 29, 2018

Javascript 异步编程

Words count 9.9k Reading time 9 mins.

首先,JavaScript是单线程的,用事件循环的机制来保证系统的正常运行。如果有同步的ajax请求或者很复杂的运算,JavaScript要等这些操作完成,才能响应其他事件,页面会进入假死状态。
然而对于日渐复杂的web应用来说,这个是致命的。这也是为什么Node.js适合高I/O操作的业务,而像PHP,直到现在,I/O操作也没有提供对应的异步版本,对于PHP来说每个请求都在php-fpm的一个新线程里,这个线程阻塞了不影响其他线程,异步也就没有那么迫切。

其次,JavaScript作为动态语言,...

Read article

JS April 20, 2018

你不知道的JSON.parse()和JSON.stringify()高级技巧

Words count 4.1k Reading time 4 mins.

JSON对象的两个方法:JSON.parse() 和 JSON.stringify() 通常用做JSON对象和字符串之间的相互转换;

JSON.parse() 可以接受第二个参数,它可以在返回之前转换对象值。比如这例子中,将返回对象的属性值大写:

const user = {
  name: 'John',
  email: 'john@awesome.com',
  plan: 'Pro'
};

const userStr = JSON....
Read article

JS April 12, 2018

Es6你可能不知道的事---进阶篇

Words count 13k Reading time 12 mins.

模块化是一个进行很久的话题,发展历程中出现过很多模式,例如AMD,CommonJS等等。

Module是ES6的一个新特性,是语言层面对模块化的支持。

与之前模块加载机制不同,Module是动态加载,导入的变量的只读引用,而不是拷贝。

// 1. export default 可以做默认导出

// a.js
export default 5;      // 默认导出

// b.js
import b, {a} from './a.js';    // 默认导入,不需要加...
Read article
Load more
0%