在编写自己的代码库中我曾经表达了自己对 JavaScript 的理解。今日(2017.10.21)阅读 Nicholas C.Zakes 的 《Understanding ES6》,Redux 的创造者 Dan Abramov 在序言中提到:
JavaScript was not a toy language.
是的,JavaScript 并不是(或者说不再是)一门“玩具”语言了。所以不,本文主要聚焦于 ES6 的一些 new feature,以及表达一些自我的理解。
October 21 , 2017
JavaScript
阅读全文
异步编程是 JavaScript 中一个非常重要的概念。异步的核心是现在和稍后。也就是说我们的一个 JavaScript 程序,仅有其中的一个代码块会在 现在 执行,而其他的会 稍后 执行。
最常见的异步编程就是回调函数了。
August 23 , 2017
JavaScript
阅读全文
完成一个 React 之初,就是要构建一个脚手架工具,要支持 ES6 和 JSX 语法。在这一块,用 Webpack 就胜过 Gulp,所以我们使用 Webpack 来进行模块打包。当然,也可以使用 Gulp + Webpack 来构建,这个有心情的时候再整整吧。
官方也提供一个 react-scripts
模块来提供脚手架。你也可以使用它,但能够自定义的话,也许是最好的选择。
August 20 , 2017
React
阅读全文
A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES. 来源
React 就是定义用户界面的 UI 库。
接着,我们要从更高的一个立意来理解 React。很自然的对比,就是 jQuery vs React
。在使用 jQuery 时,设计的理念是通过 CSS 规则找到一个元素,然后操纵这个节点做一些事情,这是个非常容易理解的理念。但是,打一个比方,我们将一个应用比作建房子。那么如果使用 jQuery,就意味着你必须事无巨细地告诉它“如何去做”,这是很累的,因为 jQuery 是一个没有文化的建筑工人。
React 专注于 view 层。 它提供一个新的思维方式,就是关注视图层的渲染,将如何去做转变为想要显示什么。有一个公式可以表现:
UI = render(data)
这里的 render()
应该是个 纯函数,这是个函数式编程的概念。只接收 data,然后进行用户界面的渲染。
所以,想要更新 UI,要做的就是更新 data,对应的就是 React 中的 state 的概念。
August 19 , 2017
React
阅读全文
JavaScript 颇让费解的东西 this 为何出现呢,机制是提供更优雅的方式来隐式地“传递”一个对象引用。对于 this 的很多误解和使用,建议收看 You-Dont-Know-JS。本文主要是在它的基础上整合的内容。
每个函数在被调用时都会自动取得两个特殊的变量: this 和 arguments。需要说明的是,this 不是编写时绑定,而是运行时绑定。它依赖于函数调用的上下文条件。this 绑定与函数声明的位置没有任何关系,而与函数被调用的方式紧密相连。
August 16 , 2017
JavaScript
阅读全文
在《图解 HTTP》书中,我们了解到为什么需要使用到安全的 HTTPS 通信。
- 通信使用明文会被窃听。所以进行加密处理防止被窃听,通过 SSL(Secure Socket Layer,安全套接层) 或 TLS(Transport Layer Security,安全层传输协议)组合使用,加密 HTTP 通信内容。
- 通信方的身份可能遭遇伪装,HTTP 协议中的请求和响应不会对通信方进行确认。这个由 SSL 提供的数字证书来解决。
- 无法确认报文的完整性。
August 16 , 2017
Performance
阅读全文