探讨下Javascript中的Promise模式

Javascript最令人称道的就是它的事件回调模式,因此即使只有一个执行线程,它也能支持异步高并发。不过回调写多了,代码就会非常复杂难懂,因为回调不像同步代码,执行顺序是从上至下,读回调代码必须跳来跳去,思考什么情况下到底跳到了什么地方,很辛苦,这种情况俗称”Callback Hell”回调地狱。Promise模式是一种异步编程模式,很早就有,随着ES6的正式发布,Promise成为了Javascript原生支持的对象。所以我就顺便学习了下Promise对象的使用,体会下它的作用。

Javascript中this指针的使用实例

Javascript语言中有一个this关键字,后端开发做多了的朋友们习惯称它为this指针。其作用是指向调用当前函数的那个对象。听上去很好理解的一个概念,但是对于后端出身的开发人员来说却很头疼,因为它同Java或C++的this指针效果不一样。JS作为脚本语言,太灵活了。本文就来探讨下,这个this指针,到底指向哪里。

Javascript的事件捕获和事件冒泡

再写篇Javascript的基础知识吧,事件的注册和监听是JS的重要功能。任何同用户交互的界面上一般都注册了相当多的事件来监听用户的操作比如鼠标点击,鼠标移动,键盘输入等。那么问题来了,HTML DOM是个嵌套的结构,当我们在某个元素上注册了事件,而且在其父元素上也注册并监听了相同的事件。当子元素上的事件发生时,到底是子元素响应,还是父元素响应?要是都响应的话,先后顺序是什么?这里我们就讨论下JS的事件捕获和事件冒泡机制。

Javascript中的对象继承和原型链

后端开发做过n年的朋友们,学Javascript时比较头大的地方就是它的面向对象。严格的说,Javascript(在ES6出现之前)本身并非是个面向对象的语言。当然也有不少文章说JS是面向对象的,我也同意,因为它虽然没有class类,但是可以通过其它方法实现对象的重用,封装,继承。多态就更不用讲了,本来就是脚本语言,运行时才解释执行的。

Javascript闭包和立即执行函数的作用

我见过不少初学前端的朋友们认为,要成为前端的高手,就要学会那些主流的框架。比如前两年流行的AngularJS,今年的ReactJS。还有朋友学了ReactJS后,想学ReactNative成为iOS高手。当我问他们一些Javascript的基本概念,比如什么是闭包,什么是事件冒泡机制,什么是原型链,为什么要有立即执行函数时,却答不上来。因为用了框架后,在一些小应用中,你根本不需要接触上述概念。但是这些原理性的东西确是你通往高手殿堂的必经之路。

API文档自动生成工具apiDoc简介

随着移动客户端的流行,后端系统需开放越来越多的API来供客户端使用。API文档的编写和管理是一个挑战,随着API不断变化,文档必须及时更新,但编写文档也是个不小的负担。一个比较好的做法(Best Practice),就是将文档放在代码里,开发人员编写代码时同时修改文档。然后通过工具从代码中抽出文档,并生成方便用户阅读的格式。此类工具早已存在,比如Java中的javadoc。这里我们要介绍一个非常轻量级的,适用于几乎所有流行语言的,针对Restful API的文档自动生成工具-apiDoc。

前端构建工具Gulp.js

最近一个网站项目,开发人员准备直接把前端的代码拷贝到生产环境来部署,而且使用Ant来执行拷贝,这样就可以前后端一起部署了。这是传统后端开发人员的思维。这样做固然可行,但是当前端代码越来越庞大时,就不好管理了。如同Java的Ant,C++的Make,前端开发也有其构建工具,这里就介绍一个超简单的构建工具Gulp.js。