标签JavaScript下的文章

网络埋伏纪事 发布于 12月15, 2017

【译】JavaScript:核心 - 第二版

原文地址:http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/

译者注:Dmitry Soshnikov是Facebook软件工程师,ECMAScript理论家。他编写的《ECMAScript in detail》系列文章是对ECMAScript规范最优秀的解析,已经被翻译成多国语言(包括中文)。


这是JavaScript:核心概述讲稿的第二版,致力于ECMAScript编程语言及其运行时系统的核心组件。

目标人群:有经验的程序员、专家。

本文的第一版涵盖了JS语言的通用方面,主要讲解了旧式ES3规范中的概念,并参考了在ES5和ES6(即ES2015)中的一些变化。

从ES2015开始,规范修改了一些核心组件的描述和结构,引入了新的模型等等。所以在这个版本中,我们会关注较新的概念以及更新了的术语,但是依然保留在规范各个版本中保持一致的最基本的JS结构。

本文涵盖了ES2017+运行时系统。

注:ECMAScript规范的最新版本可以在TC-39网站上找到。

我们从讨论ECMAScript最基础的概念对象开始。

阅读全文 »

dz 发布于 09月11, 2017

【译】关于Babel6的6个变化

原文链接:http://jamesknelson.com/the-six-things-you-need-to-know-about-babel-6/

近年来Babel已经成为一种将ES2015和JSX转化为传统JavaScript代码的必备工具。但是Babel6相对以前的版本改变巨大。以前的babel包已经废弃了,直接运行babel已经没办法将ES2015转化为ES5,以前的文档也下架了。

但是不要慌,为了让你跟上变化,我整理了6大重要的变化清单,如果你觉得还不够,可以参考我的文档ES6和Babel6完全指南手册,里面覆盖了大量的实践,还有CLI, Webpack, Mocha和 Gulp等知识点。

阅读全文 »

网络埋伏纪事 发布于 08月24, 2017

【译】JavaScript工作机制:V8 引擎内部机制及如何编写优化代码的5个诀窍

原文:http://www.zcfy.cc/article/4033

几周前,我们开始写旨在深入挖掘JavaScript及其工作机制的一系列文章:我们认为,通过了解JavaScript的构造单元以及这些构造单元如何组织在一起,您就能够编写更好的代码和应用程​​序。

该系列的第一篇文章重点是提供一个对引擎、运行时和调用栈的概述。这第二篇文章将会深入Google V8 JavaScript引擎的内部。我们还将提供如何编写更佳 JavaScript 代码的一些小技巧 - 这也是我们 SessionStack 开发团队在构建产品时遵循的最佳实践。

阅读全文 »

网络埋伏纪事 发布于 08月24, 2017

【译】JavaScript工作机制:第1部分

原文:http://www.zcfy.cc/article/3965

随着JavaScript越来越受欢迎,开发团队正在将其用在技术栈的各个方面,包括 - 前端、后端、混合应用、嵌入式设备等等。

GitHut统计所示,JavaScript在GitHub中的活动存储库和总推送方面位于前列,在其他方面也不差。

查看最新的GitHub语言统计信息)。

如果项目越来越依赖于JavaScript,这意味着开发人员必须更深入地了解内部机制,才能利用语言和生态系统提供的所有技术,构建出惊艳的软件。

事实证明,虽然有很多开发人员每天都在使用JavaScript,但并不知道它的工作机制。

阅读全文 »

dz 发布于 07月08, 2017

为什么我们需要中间件来处理redux的异步流

原文地址: StackOverFlow - Why do we need middleware for async flow in Redux?

官方文档说:如果不用中间件middleware,Redux store只支持同步数据流。 我不太明白为什么,为什么不能在组件中直接调用异步API,然后dispatch action?

例如:一个只有一个输入框和按钮的UI,用户点击按钮,然后从远程抓取数据填充到该输入框。

阅读全文 »

网络埋伏纪事 发布于 06月16, 2017

JavaScript: 为初学者介绍 new 运算符

原文:https://hackernoon.com/javascript-for-beginners-the-new-operator-cee35beb669e

alt

四条规则

理解 new 运算符的最简单的方式就是去理解它做什么。当我们用 new 时,发生了四件事:

  1. 创建了一个新的空对象。
  2. this 绑定到新创建的对象。
  3. 给新创建的对象添加了一个名为 __proto__ 的属性,该属性指向构造器函数的原型对象。
  4. 给函数末尾添加一条 return this 语句,这样被创建的对象就被从函数返回。

阅读全文 »

网络埋伏纪事 发布于 06月16, 2017

JavaScript: 为初学者介绍 this 关键字

原文:https://hackernoon.com/javascript-the-keyword-this-for-beginners-fb5238d99f85

alt

理解 JavaScript 中的关键字 this,以及它指向什么,有时候可能是有点复杂。幸好有五个通用规则可以用来确定 this 绑定到什么。虽然这些规则在某些情况下并不适用,不过绝大多数情况应该能帮你搞定。所以,下面我们开始吧!

  1. this 的值通常是由一个函数的执行上下文决定的。所谓执行上下文就是指一个函数如何被调用。
  2. 必须要知道的是,每次函数被调用时,this 都有可能是不同的(即指向不同的东西)。
  3. 如果依然搞不清楚第一条和第二条的含义,没有关系,本文结尾的时候会搞清楚的。

阅读全文 »

网络埋伏纪事 发布于 06月16, 2017

JavaScript: 为初学者介绍正则表达式

原文:https://hackernoon.com/javascript-learn-regular-expressions-for-beginners-bb6107015d91

alt

不久前,正规表达式对我来说是挺可怕的 - 对我未经训练的眼睛来说,它们只不过是一堆乱七八糟的字符串。不幸的是,我让那些“乱七八糟”的字符串吓倒我太久了。当我终于决定冒险学习正则表达式时,我很惊讶要学习的基本概念有多简单。

不要犯同样的错误。是的,正则表达式可能非常复杂,但实际上学习基础知识很容易。下面我一起学习基本的正则表达式吧...

阅读全文 »