JavaScript中模拟类与ES6新增的Class的比较

 2016年06月28日    590

JavaScript使用函数模拟类,并基于原型实现继承。自ECMAScript 2015(ES6)开始,JavaScript 中有了类(class)的概念,这这并不是说JavaScript可以像其它面向对象语言一样,可以基于类实现继承。JavaScript中的类只是对现有的基于原型的继承模型的一种语法包装,也就是说是一种语法糖,其本质上类还是一个函数。但它能让我们可以用更简明的语法实现继承,也使代码的可读性变得更高,同时为以后的JavaScript语言版本添加更多的面向对象特征打下基础。

阅读全文

JavaScript与面向对象程序设计的实现

 2016年06月27日    326

JavaScript是一种基于对象的语言,基于对象编程被认为是面向对象编程的子集。JavaScript支持面向对象编程,并提供了强大灵活的 OOP 语言能力。本文将探讨JavaScript中使用基于对象原型编程的方式,实现面向对象编程中的一些类似的概念。

阅读全文

var、let、const与JavaScript变量/常量的定义

 2016年06月22日    2117

早期的JavaScript中,声明变量只能使用var关键字定义变量,并没有定义常量的功能。通过var关键字定义的变量,其作用域只能函数级或是全局作用域,并没有块级作用域。ES6(ECMAScript 2015)对这一问题做了改善,增加了用于定义块级变量的let关键字和用于定义常量的const关键字。

阅读全文

定义JS函数与函数声明、Function构造函数、函数表达式的比较

 2016年06月21日    283

定义一个JavaScript函数有多种方式,其中function函数声明、Function构造函数创建、函数表达式是3种比较常用的方式,ECMAScript 6标准中又规定了几种新的函数定义方式。在JavaScript中每个函数都是一个Function对象,它不仅能像对象一样拥有属性和方法,而且可以被调用。

阅读全文

理解HTTP协议中的Cookie及其与Session的区别

 2016年06月17日    355

CookieSession都是为了解决HTTP协议的无状态问题,存储HTTP通讯中客户端与服务器之间的会话状态。不同的是Cookie依赖HTTP请求头与响应头实现且存储在客户端,而Session存储在服务器端,Session可以通过Cookie实现,也可以使用URL回写的方式实现。

阅读全文

formidable 与Node.js 多文件/图片上传

 2016年06月14日    1514

笔者所参与的一个APP项目中,有一个上传多个张图片的需求。虽然之前已经通过“formidable”模块实现了文件/图片的接收,但只能上传一张图片,要满足多张图片上传还要做一些处理。

阅读全文

Node.js 中实现HTTP文件下载

 2016年06月11日    3102

HTTP实现文件下载时,只要在服务器设置好相关响应头,并使用二进制传输文件数据即可,而客户端(浏览器)会根据响应头接收文件数据。而在Node.js中,设置好响应头后,读取文件流,再使用.pipe()方法将流转接到响应对象Response就可以实现一个简单的文件下载服务器。

阅读全文

redis - Node.js Redis客户端模块

 2016年06月09日    2371

redis(node_redis)模块中文文档:Redis 常用于跨进程、跨服务器的数据缓存服务,如:使用Redis存储Session会话数据等。Node.js 中了连接Redis要使用redisnode_redis)模块,该模块是一个完整的、功能丰富的Node.js Redis 客户端,它支持所有Redis命令且注重于高性能特征。

阅读全文

body-parser Node.js(Express) HTTP请求体解析中间件

 2016年06月08日    3953

在HTTP请求中,POSTPUTPATCH三种请求方法中包含请求体,Node.js 原生HTTP模块中,请求体要基于流的方式接收和解析。body-parser是一个HTTP请求体解析中间件,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体,Express框架中就是使用这个模块做为请求体解析中间件。

阅读全文