nodejs 之 util module


var util = require('util');
/** util.format(format[,...])按给定的格式输出数据
    %s--String,%d--Number,%j--JSON,%--百分符号不为一个参数
 */   
 util.format('%s:%s','f00');
 console.log(util.format('%s:%s','f00'));   // 'f00:%s'
 console.log(util.format('%s:%s', 'foo', 'bar', 'baz')); // 'foo:bar baz'
 console.log(util.format(1, 2, 3)); // '1 2 3'
 
/** util.debug(string)同步输出函数,将阻止进程并立即将string给stderr
*/
  util.debug('message on stderr.');


/** util.error([...])除了它会立即将所有参数给stderr外,和util.debug()一样
*/
 util.error('util error.');
 

/** util.puts([...])同步输出函数,将阻止进程并立即将所有参数带换行地输出给stdout
*/
 util.puts('block','process');
 
 
/** util.print([...])同步输出函数,将阻止进程,将每个参数都转为字符串在给stdout,但不带换行
*/
  util.print('block','process','\n');
 

/** util.log(string) 在stdout中输出,并带时间戳
*/
 util.log('Timestamped message.')


/** util.inspect(object[, showHidden][, depath][, colors])
    以字符串类型返回object的描述,对debugging有所帮助
    如果showHidden=true,那么object的非枚举属性也会被显示,默认为false
    如果depath给定了,inspect方法就会进行几次递归。在处理分成复杂的object时很有用
    默认递归两次
    如果colors=true,输出数据将带颜色。默认为false
*/
console.log(util.inspect(util))
/** console.log(util.inspect(util,true,null))
    console.log(util.inspect(util,true,null,true))
*/



/** util.isArray(object)判断object是否为数组  */
  console.log(util.isArray([]))           // true
  console.log(util.isArray(new Array))    // true
  console.log(util.isArray({}))           //false




/** util.isRegExp(object) 判断object是否为正则对象 */
 console.log(util.isRegExp(/some regexp/));                 // true
 console.log(util.isRegExp(new RegExp('another regexp')))   // true
 console.log(util.isRegExp({}))                             //false


/**  util.isDate(object) 判断object是否为日期对象*/
  console.log(util.isDate(new Date()))                  // true
  console.log(util.isDate(Date()))                     //false--无new返回的是字符串
  console.log(util.isDate({}))                          //false
 
 
 
/** util.isError(object) 判断object是否为错误对象 */
  console.log(util.isError(new Error()))                                   // true
  console.log(util.isError(new TypeError()))                               // true
  console.log(util.isError({name:'Error',message:'an error occured.'}))    //false
 
 
 
/** util.pump(readableStream,writableStream[,callback])
   从readableStream读数据,并把数据给writableStream
   当writableStream.write(data)写数据时函数返回是false时
   readableStream将停止工作,直到writableStream中的drain方法被调用
   callback只有一个error参数,当writableStream关闭或出错时该方法才被调用
 */


/**
   util.inherits(constructor,superConstructor)
   
*/

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);  //.super_得到父类
 
stream.on('data',function(data){
        console.log('Received data:' + data);
    })
stream.write('It works!');
 
 
 
 
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值