码迷,mamicode.com
首页 > Windows程序 > 详细

Node.js API —— util(工具)

时间:2014-11-02 19:38:49      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   使用   for   sp   

// 说明
    Node API 版本为 v0.10.31。
    中文参考:http://nodeapi.ucdok.com/#/api/http://blog.sina.com.cn/oleoneoy
    本段为博主注解。

目录

工具
    ○ util.format(format, [...])
    ○ util.debug(string)
    ○ util.error([...])
    ○ util.puts([...])
    ○ util.print([...])
    ○ util.log(string)
    ○ util.inspect(object, [options])
        ■ Customizing util.inspect colors
    ○ util.isArray(object)
    ○ util.isRegExp(object)
    ○ util.isDate(object)
    ○ util.isError(object)
    ○ util.pump(readableStream, writableStream, [callback])
    ○ util.inherits(constructor, superConstructor)

 工具

稳定性:4 - API 冻结
    这些函数在模块 ‘util‘ 中。使用 require(‘util‘) 来访问它们。

util.format(format, [...])

    返回一个格式化的字符串,第一个参数作为 printf 形式的格式使用。
    第一个参数是一个包含0个或多个占位符的字符串。每个占位符被它相应的参数转换过来的值所替换。支持的占位符:
      ● %s - 字符串。
      ● %d - 数值(包括整数和浮点数)。
      ● %j - JSON。
      ● % - 单个百分号(‘%‘)。这不会消耗一个参数。
    如果占位符没有相应的参数,它不会被替换。
1 util.format(‘%s:%s‘, ‘foo‘); // ‘foo:%s‘

    如果参数比占位符更多,额外的参数均使用 util.inspect() 转换成字符串,并将得到的字符串使用空格分隔连接起来。

1 util.format(‘%s:%s‘, ‘foo‘, ‘bar‘, ‘baz‘); // ‘foo:bar baz‘

    如果第一个参数不是格式化字符串那么 util.format() 返回一个将所有参数使用空格分隔连接起来的字符串。每个参数使用 util.inspect() 转换成字符串。

1 util.format(1, 2, 3); // ‘1 2 3‘

util.debug(string)

   一个同步输出函数。将阻塞进程并立即向 stderr 输出 string
1 require(‘util‘).debug(‘message on stderr‘);

util.error([...])

   和 util.debug() 一样,除了这将把所有参数立即输出到 stderr

util.puts([...])

   一个同步输出函数。阻塞进程并将所有参数每个都以换行符结束输出到 stdout

util.print([...])

   一个同步输出函数。将阻塞进程,把所有参数连接成字符串然后输出到 stdout。不在每个参数后面添加换行符。

util.log(string)

   向 stdout 输出时间戳。
1 require(‘util‘).log(‘Timestamped message.‘);

util.inspect(object, [options])

    返回一个表示 object 的字符串,那对调试是很有用的。
    可以传递一个可选的 options 对象,用以改变格式化字符串的某些方面。
      ● showHidden - 如果为 true,那么对象的不可枚举属性将也能被显示。默认为 false
      ● depth - 告诉 inspect 当格式化对象时递归多少次。这在查看非常复杂的对象时是很有用的。默认为2。想让它无限递归传递 null
      ● colors - 如果为 true,那么那么输出将使用 ANSI 颜色代码风格。默认为 false。颜色可以定做,见下文。
      ● customInspect - 如果为 false,那么定义在正在被查看的对象上的定制 inspect() 函数将不会被调用。默认为 true
    查看 util 对象所有属性的例子:
1 var util = require(‘util‘);
2 console.log(util.inspect(util, { showHidden: true, depth: null}));

Customizing util.inspect colors

    给 util.inspect 的输出着色(如果被激活)是全局可定制的,只要通过 util.inspect.stylesutil.inspect.colors 对象。
    util.inspect.styles 是一个为每个样式分配一个 util.iinspect.colors 中的颜色的映射。高亮样式和它们的默认值是:数值(黄色),布尔值(黄色),字符串(绿色),日期(洋红),正则表达式(红色),null(粗体),undefined(灰色),特殊情况——这时候只会是函数(青色)* 属性名(故意地不加样式)
    预定义的颜色代号:白色灰色黑色蓝色青色绿色洋红黄色。也有粗体斜体下划线反相代号。
    对象也可以定义它们自己的 inspect(depth) 函数来让 util.inspect() 调用并在查看对象时使用其返回结果。
1 var util = require(‘util‘);
2 
3 var obj = { name: ‘nate‘ };
4 obj.inspect = function(depth) {
5   return ‘{‘ + this.name + ‘}‘;
6 };
7 
8 util.inspect(obj);
9   //"{nate}"

util.isArray(object)

    如果给出的“对象”是一个数组则返回 true。否则返回 false
1 var util = require(‘util‘);
2 
3 util.isArray([])
4   // true
5 util.isArray(new Array)
6   // true
7 util.isArray({})
8   // false

util.isRegExp(object)

    如果给出的“对象”是一个正则表达式则返回 true。否则返回 false
1 var util = require(‘util‘);
2 
3 util.isRegExp(/some regexp/)
4   // true
5 util.isRegExp(new RegExp(‘another regexp‘))
6   // true
7 util.isRegExp({})
8   // false

util.isDate(object)

    如果给出的“对象”是一个日期则返回 true。否则返回 false
1 var util = require(‘util‘);
2 
3 util.isDate(new Date())
4   // true
5 util.isDate(Date())
6   // false (without ‘new‘ returns a String)
7 util.isDate({})
8   // false

util.isError(object)

    如果给出的“对象”是一个错误则返回 true。否则返回 false
1 var util = require(‘util‘);
2 
3 util.isError(new Error())
4   // true
5 util.isError(new TypeError())
6   // true
7 util.isError({ name: ‘Error‘, message: ‘an error occurred‘ })
8   // false

util.pump(readableStream, writableStream, [callback])

稳定性:0 - 反对:使用 readableStream.pipe(writableStream)
    从 readableStream 读取数据并将其发送到 writableStream。当 writableStream.write(data) 返回 falsereadableStream 将暂停直到 writableStream 发生了 drain 事件。callback 有一个错误作为它的唯一参数,且当 writableStream 关闭或错误发生时被调用。

util.inherits(constructor, superConstructor)

    从一个构造函数继承原型上的方法到另一个构造函数。constructor 的原型将设置为一个从 superConstructor 创建的新对象。
    作为一个附加的便利,superConstructor 可以通过 constructor.super_ 属性访问。
 1 var util = require("util");
 2 var events = require("events");
 3 
 4 function MyStream() {
 5   events.EventEmitter.call(this);
 6 }
 7 
 8 util.inherits(MyStream, events.EventEmitter);
 9 
10 MyStream.prototype.write = function(data) {
11   this.emit("data", data);
12 }
13 
14 var stream = new MyStream();
15 
16 console.log(stream instance of events.EventEmitter); // true
17 console.log(MyStream.super_ === events.EventEmitter); // true
18 
19 stream.on("data", function(data) {
20   console.log(‘Reveived data: "‘ + data + ‘"‘);
21 })
22 stream.write("It works!"); // Received data: "It works!"

 

Node.js API —— util(工具)

标签:style   blog   http   io   color   ar   使用   for   sp   

原文地址:http://www.cnblogs.com/gvgarven/p/4038943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!