设为首页 收藏本站
查看: 1048|回复: 0

[经验分享] nodeJS入门例子一—工具(util)

[复制链接]

尚未签到

发表于 2017-2-22 08:12:35 | 显示全部楼层 |阅读模式
util

util.format()

util.debug(string)

util.log(string)

util.inspect(object, showHidden=false, depth=2)

util.isArray(object)

util.isRegExp(object)

util.isDate(object)

util.isError(object)

util.pump(readableStream, writableStream, [callback])
  util.inherits(constructor, superConstructor)
  


util
  这些功能函数都放置在模块'util'。中,使用 require('util')访问。


util.format()
  返回格式化过的第一个参数的字符串,与printf类似。
  第一个参数是一个包含数字或者是更多其他占位符的字符串。每个占位符都将用相应参数替换。支持的占位符有以下几种:




  • %s - String.

  • %d - Number (包含 integer 和 float).

  • %j - JSON.

  • %% - 一个百分号('%'). 这不消耗参数.
  如果占位符没有相应的参数,这个占位符将不会被替换。

util.format('%s:%s', 'foo'); // 'foo:%s'
  如果参数个数多余占位符个数,多余的参数将使用util.inspect() 转换成字符串后追加到第一个参数字符串后。

  


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

  如果当前没有需要格式化的参数。将返回所有参数组合而成的字符串,组合字符串中间以空格分开。使用util.inspect() 转换成字符串。

util.format(1, 2, 3); // '1 2 3'
util.debug(string)
  一个同步输出函数。当遇到标准错误(stderr)时过程(process)和输出(output)将被阻塞。


require('util').debug('message on stderr');
util.log(string)


  带有时间戳的标准输出。


require('util').log('Timestamped message.');
输出如下:
7 Dec 00:24:04 - ss

util.inspect(object, showHidden=false, depth=2)


  返回对象的字符串形式,在调试中很有用。
  如果 showHidden 为 true, 对象的非枚举类型属性将显示。
  如果 depth的值提供了,他告诉inspect格式化对象时多少次递归。检查大型复杂的对象,这是有用的。


默认递归为两次。传递null值给depath使其无限递归。  


var util = require('util');
console.log(util.inspect(util, true, null));
util.isArray(object)
  返回给定的对象object是否是数组。


var util = require('util');
util.isArray([])
// true
util.isArray(new Array)
// true
util.isArray({})
// false
util.isRegExp(object)
  判断给定对象是不是正则表达式。


var util = require('util');
util.isRegExp(/some regexp/)
// true
util.isRegExp(new RegExp('another regexp'))
// true
util.isRegExp({})
// false
util.isDate(object)
  判断给定对象是否是日期

var util = require('util');
util.isDate(new Date())
// true
util.isDate(Date())
// false (没有 'new' 返回一个 String)
util.isDate({})
// false
util.isError(object)
  判断一个对象是否是一个Error

var util = require('util');
util.isError(new Error())
// true
util.isError(new TypeError())
// true
util.isError({ name: 'Error', message: 'an error occurred' })
// false
util.pump(readableStream, writableStream, [callback])


  实验
  从readableStream读取数据并发送到writableStream中,当writableStream.write(data)返回 false
readableStream将暂停直到 writableStream. callback 的drain错误处理函数发生调用。


util.inherits(constructor, superConstructor)
  从一个构造函数中继承另一个的原生方法。当一个新对象创建时,将从父构造函数(超类)中设置构造函数的原生态。
  作为一个额外的便利,将通过构造访问超类.super_ property.

var util = require("util");
var events = require("events");
function MyStream() {
events.EventEmitter.call(this);
}
util.inherits(MyStream, events.EventEmitter);
MyStream.prototype.write = function(data) {
this.emit("data", data);
}
var stream = new MyStream();
console.log(stream instanceof events.EventEmitter); // true
console.log(MyStream.super_ === events.EventEmitter); // true
stream.on("data", function(data) {
console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345412-1-1.html 上篇帖子: nodeJS入门例子一—事件(Event) 下篇帖子: nodeJS入门例子一—插件(Addons)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表