Node.js 超深度体验

Node.js 全局对象

  1. __filename

表示当前正在执行的脚本的文件名

  1. __dirname

表示当前执行脚本所在的目录。

  1. setTimeout(cb, ms)

setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。:setTimeout() 只执行一次指定函数。 返回一个代表定时器的句柄值。

function sayLove(){    console.log( "I Love You!");}// 两秒后执行以上函数setTimeout(sayLove, 2000);
  1. clearTimeout(t)

clearTimeout( t ) 全局函数用于停止一个之前通过 setTimeout() 创建的定时器。 参数 t 是通过 setTimeout() 函数创建的计算器。

function sayLove(){    console.log( "I Love You!");}// 两秒后执行以上函数var t = setTimeout(sayLove, 2000);// 清除定时器 上面函数就不执行了clearTimeout(t);
  1. setInterval(cb, ms)

setInterval(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。

返回一个代表定时器的句柄值。可以使用 clearInterval(t) 函数来清除定时器。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。

代码

function sayLove(){    console.log( "I Love You!");}// 间隔2秒执行函数setInterval(sayLove, 2000);

Node.js 常用工具

util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。

  1. util.inherits

util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。

nodejs.js

var util = require('util');function Shop() { // 商店基类    this.name = '汤氏集团'; // 类属性    this.showAd = function () { // 类方法        console.log(this.name + ',欢迎光临');    };}Shop.prototype.showName = function () { // 子类可以继承的方法    console.log(this.name);};function FruitShop() {    this.name = '汤氏集团水果店';}util.inherits(FruitShop, Shop); // 类FruitShop 继承 类Shopvar objShop = new Shop();objShop.showName();          // 汤氏集团objShop.showAd();            // 汤氏集团,欢迎光临console.log(objShop);        //Shop { name: '汤氏集团', showAd: [Function] }var objFruitShop = new FruitShop();// objFruitShop.showAd();    // 不能继承 showAd 方法objFruitShop.showName();     //汤氏集团水果店console.log(objFruitShop);   // FruitShop { name: '汤氏集团水果店' }

输出

  1. util.inspect

util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换
为字符串的方法,通常用于调试和错误输出。它至少接受一个参数 object,即要转换的对象

nodejs.js

var util = require('util');function Shop() {    this.name = '汤氏集团';    this.toString = function() {        return this.name;    };}var obj = new Shop();console.log(util.inspect(obj));console.log(util.inspect(obj, true)); //输出更多隐藏信息

输出

  1. util.isArray(object)

如果给定的参数 "object" 是一个数组返回true,否则返回false。

var util = require('util');console.log(util.isArray([])); // trueconsole.log(util.isArray(new Array)) // trueconsole.log(util.isArray({})) // false
  1. util.isRegExp(object)

如果给定的参数 "object" 是一个正则表达式返回true,否则返回false。

  1. util.isDate(object)

如果给定的参数 "object" 是一个日期返回true,否则返回false。

  1. util.isError(object)

如果给定的参数 "object" 是一个错误对象返回true,否则返回false。

Node.js GET/POST请求

  1. 获取GET请求内容

代码

var http = require('http');var url = require('url');var util = require('util');http.createServer(function(req, res){    res.writeHead(200, {'Content-Type': 'text/plain'});    res.end(util.inspect(url.parse(req.url, true)));    console.log(url.parse(req.url, true).query.name);}).listen(3000);

输出

  1. 获取POST请求内容

默认是不会解析请求体的, 当你需要的时候,需要手动来做。

代码

var http = require('http');var querystring = require('querystring');var util = require('util');http.createServer(function(req, res){    var post = '';     //定义了一个post变量,用于暂存请求体的信息    req.on('data', function(chunk){                        //通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中        post += chunk;    });    req.on('end', function(){        //在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式    //然后向客户端返回。        post = querystring.parse(post);        res.end(util.inspect(post));    });}).listen(3000);

Node.js 工具模块

  1. OS 模块

提供基本的系统操作函数。

  1. Path 模块

提供了处理和转换文件路的工具。

  1. Net 模块

用于底层的网络通信。提供了服务端和客户端的的操作。

  1. DNS 模块

用于解析域名。

  1. Domain 模块

简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的。

Node.js Web 模块

Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端,使用 HTTP 服务器或客户端功能必须调用http 模块

  1. 使用 Node 创建 Web 服务器

代码

var http = require('http');var fs = require('fs');var url = require('url');// 创建服务器http.createServer( function (request, response) {    // 解析请求,包括文件名    var pathname = url.parse(request.url).pathname;    // 输出请求的文件名    console.log("Request for " + pathname + " received.");    // 从文件系统中读取请求的文件内容    fs.readFile(pathname.substr(1),'utf-8', function (err, data) {        if (err) {            console.log(err);            // HTTP 状态码: 404 : NOT FOUND            // Content Type: text/plain            response.writeHead(404, {'Content-Type': 'text/html'});        }else{            // HTTP 状态码: 200 : OK            // Content Type: text/plain            response.writeHead(200, {'Content-Type': 'text/html'});            // 响应文件内容            response.write(data.toString());        }        //  发送响应数据        response.end();    });}).listen(8081);// 控制台会输出以下信息console.log('Server running at http://127.0.0.1:8081/nodejs/index.html');

输出

  1. 使用 Node 创建 Web 客户端

关键字:node.js

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部