最新 | 最热门 | 最高评价

+0  Flux 架构入门教程

Tag: JavaScript
阮一峰 发于 2016年01月15日 10:03 | 点击: 1197 | 展开摘要
过去一年中,前端技术大发展,最耀眼的明星就是React。

React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架。也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架。

Facebook官方使用的是 Flux 框架。本文就介绍如何在 React 的基础上,使用 Flux 组织代码和安排内部逻辑,使得你的应用更易于开发和维护。

阅读本文之前,我假设你已经掌握了 React 。如果还没有,可以先看我写的《React入门教程》。与以前一样,本

查看全文: http://www.udpwork.com/item/15127.html

+0  测试框架 Mocha 实例教程

Tag: JavaScript
阮一峰 发于 2015年12月03日 09:37 | 点击: 1147 | 展开摘要
Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。

所谓"测试框架",就是运行测试的工具。通过它,可以为JavaScript应用添加测试,从而保证代码的质量。

本文全面介绍如何使用Mocha,让你轻松上手。如果你以前对测试一无所知,本文也可以当作JavaScript单元测试入门。值得说明的是,除了Mocha以外,类似的测试框架还有Jasmine、Karma、Tape等,也很值得学习。

一、安装

查看全文: http://www.udpwork.com/item/14817.html

+0  读懂 ECMAScript 规格

Tag: JavaScript
阮一峰 发于 2015年11月12日 20:55 | 点击: 1208 | 展开摘要
一、概述

规格文件(specification)是计算机语言的官方标准,详细描述语法规则和实现方法。

一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了解语言标准是怎么说的。规格是解决问题的"最后一招"。

这对JavaScript语言很有必要。因为它的使用场景复杂,语法规则不统一,例外很多,各种运行环境的行为不一

查看全文: http://www.udpwork.com/item/14760.html

+0  JavaScript 模块的循环加载

Tag: JavaScript
阮一峰 发于 2015年11月02日 16:44 | 点击: 1107 | 展开摘要
"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。

// a.js
var b = require('b');

// b.js
var a = require('a');

通常,"循环加载"表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。

但是实际上,这是很难避免的,尤其是依赖关系复杂的大项目,很容易出现a依赖b,b依赖c,c又依赖a这样的情况。这意味着,模块加载机制

查看全文: http://www.udpwork.com/item/14728.html

+0  45个实用的JavaScript技巧、窍门和最佳实践

Tag: javascript | 前端开发
鸟窝 发于 2015年07月31日 21:28 | 点击: 1622 | 展开摘要
如你所知,JavaScript是世上编程语言的Number One (编者按: 原文如此), 用来编写Web和移动混合应用(比如PhoneGap或者Appcelerator), 也可以编写服务器端的程序(比如NodeJS或者Wakanda),并且拥有很多其他的实现。 它也是很多新手进入编程世界的启蒙语言,因为它不但可以在浏览器上显示一个简单的alert信息,而且还可以用来控制一个机器人(使用nodebot,或者nodruino)。掌握JavaScript并且能够写出规范并性能

查看全文: http://www.udpwork.com/item/15225.html

+0  从Java和JavaScript来学习Haskell和Groovy(汇总)

Tag: Programming Paradigm | Recommended | Groovy | Haskell | Java | JavaScript
四火 发于 2015年07月24日 08:09 | 点击: 1510 | 展开摘要
这是这个系列的最后一篇,从编程范型的角度概览,前面几篇的链接在文章后半部分有汇总。

我在之前已经介绍过编程范型的概念,而事实上,我们到现在为止,纠结在这四门迥异的语言上面,浅看是各种语言特性,深看就是编程范型和思维方法。

下面这张“神图”来自于这里,可以说是对于范型和语言归类的概览,从左往右从更强的声明式向着更弱的声明式发展;依据状态分为Unnamed state(串行或并发,包含逻辑式和函数式这几种分类)、Nondet. state(所谓的不确定性状态)和Named s

查看全文: http://www.udpwork.com/item/14427.html

+0  从Java和JavaScript来学习Haskell和Groovy(DSL)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript
四火 发于 2015年07月13日 01:03 | 点击: 1613 | 展开摘要
这是《从Java和JavaScript来学习Haskell和Groovy》系列的第四篇。

首先来理解DSL。

DSL(Domain Specific Language)指的是一定应用领域内的计算机语言,它可以不强大,它可以只能在一定的领域内生效(和GPL相比,GPL是General Purpose Language),表达仅限于该领域,但是它对于特定领域简洁、清晰,包含针对特定领域的优化。

当我们面对各种各样的特定需求的时候,一个通用的语言往往不能高效地提供解决问题的路

查看全文: http://www.udpwork.com/item/14396.html

+0  ES6 的功能侦测库 ES-Checker

Tag: JavaScript
阮一峰 发于 2015年06月30日 20:56 | 点击: 1138 | 展开摘要
两周前,《ECMAScript国际标准(第6版)》正式通过,下一代 JavaScript 语言定案。

ECMAScript 6(以下简称 ES6)总共新增了20多项重大的语言特性。各种浏览器和 Node.js 都积极支持,但还有不少功能没实现。

上个周末,我读到了 Kyle Simpson 的文章《ES6: Features By Testing》,发现他开发了一组测试,可以侦测运行环境支持哪些 ES6 的功能。

我就在他的基础上 ,写了功能侦测库 ES-Checker

查看全文: http://www.udpwork.com/item/14347.html

+0  从Java和JavaScript来学习Haskell和Groovy(元编程)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript
四火 发于 2015年06月26日 08:16 | 点击: 1450 | 展开摘要
本篇文章的话题是元编程。首先来认识元编程,我在第一篇《引子》里面已经介绍:元编程,指的是在运行时改变“类”的定义,例如访问、增加或修改等等。一言以蔽之,就是“用程序来写程序”。在第二篇的《类型系统》里面已经借由继承和接口的实现,介绍了一些利用元编程特性来增加或改变子类行为的方法。回顾语言发展的长河,其实是经历了一个从“对象 -> 类 -> 元类”到“对象 -> 原型”的发展过程的。所以,无论是类,还是元类,这样的概念其实都不是非有不可的,只是因为我们思考的习

查看全文: http://www.udpwork.com/item/14335.html

+0  代码覆盖率工具 Istanbul 入门教程

Tag: JavaScript
阮一峰 发于 2015年06月08日 09:16 | 点击: 1283 | 展开摘要
测试的时候,我们常常关心,是否所有代码都测试到了。

这个指标就叫做"代码覆盖率"(code coverage)。它有四个测量维度。

行覆盖率(line coverage):是否每一行都执行了?

函数覆盖率(function coverage):是否每个函数都调用了?

分支覆盖率(branch coverage):是否每个if代码块都执行了?

语句覆盖率(statement coverage):是否每个语句都执行了?

Istanbul 是 JavaScript 程序

查看全文: http://www.udpwork.com/item/14288.html

+0  Node.js 命令行程序开发教程

Tag: JavaScript
阮一峰 发于 2015年05月26日 09:53 | 点击: 1443 | 展开摘要
一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。

Node.js 作为目前最热门的开发工具之一,怎样使用它开发命令行程序,是 Web 开发者应该掌握的技能。

最近,Npm的网志有一组系列文章,我觉得写得非常好。下面就是我在它的基础上扩展的教程,应该是目前最好的解决方案了。

一、可执行脚本

我们从最简单的讲起。

首先,使用 JavaScript 语言,写一个可执行脚本 hello 。

#!/usr/bin/env node
console.log('h

查看全文: http://www.udpwork.com/item/14235.html

+0  浏览器加载 CommonJS 模块的原理与实现

Tag: JavaScript
阮一峰 发于 2015年05月23日 09:32 | 点击: 1333 | 展开摘要
就在这个周末,npm 超过了 cpan ,成为地球上最大的软件模块仓库。

npm 的模块都是 JavaScript 语言写的,但浏览器用不了,因为不支持 CommonJS 格式。要想让浏览器用上这些模块,必须转换格式。

本文介绍浏览器加载 CommonJS 的原理,并且给出一种非常简单的实现。

一、原理

浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量。

module

exports

require

global

只要能够提供这四

查看全文: http://www.udpwork.com/item/14229.html
|<<<1234567>>>| 一共21页, 247条记录