process.stdout(); //标准输出流
process.stdout.write()    //提供了比console.log更底层的接口

process.stdin(); //标准输入流
//初始时他是被暂停的,要想从他那里读取数据需要恢复流
//并且手动编写流的事件响应函数

process.stdin.resume();

process.stdin.on('data',function(data){
  process.stdout.write('smile:'+data.toString());
})

//为事件循环设置一项任务,node会在下一次循环的时候调用callback
process.nextTick(callback);

//假设a,b两个函数较为耗时
function a(argv,callback){
  b(argv);
  callback();
}

a(function(){
  n();
})

//用process.nextTick()改写
function a(argv,callback){
b(argv);
  process.nextTick(callback);
}

a(function(){
  n();
})

//process.nextTick()的效率要比setTimeout(callback,0)要高很多

 


//util是node.js的核心模块,用于弥补javascript的不足
//util.inherits(constructor,superConstructor)是一个实现对象间原型继承的函数
//javascript没有提供对象继承的语言级别特性,而是通过原型复制来实现的


var util = require('util');

var base = function(){
  this.name = 'base';
  this.sayHello = function(){
    console.log('hello,'+this.name);
  }
}

base.prototype.showName = function(){
  console.log(this.name);
}
var sub = function(){   this.name = 'sub'; } util.inherits(sub,base); var objBase = new base(); var objSub = new sub(); objBase.sayHello(); //hello,base objBase.showName(); //base console.log(objBase); // < name:base , sayHello:[Function] > objSub.showName(); //sub console.log(objSub); // < name:sub> //inherits会继承prototype中的函数但不会继承内部的属性;

 

Posted on 2013-06-27 21:50  SmileCN  阅读(186)  评论(0编辑  收藏  举报