util最主要的是实现一个继承的功能,继承的话javascript中是用call,apply,prototype
其中prototype只能等于,等于赋值相当于浅拷贝,并不是真实意义上的一个继承,所以prototype不是特别好
Node.js中的util模块,它能够直接让构造函数继承原型链
代码如下 js格式文件
var util = require('util'); //调用Node.js中的util模块
function Person(name,age){ //创建一个名为Person的构造函数,传入值name和age
this.name = name;
this.age = age;
}
function Sun(name,age){ //创建一个名为Sun的子集构造函数,传入值name和age
Person.call(this,name,age); //继承Person里面的属性
util.inherits(Sun,Person); //继承Person里面的方法
}
Person.prototype.showname = function(){ //在原型链上添加一个名为showname的方法
console.log(this.name,this.age); //输出name值和age值
}
//实例化两个构造函数
var p = new Person('刘备','22');
var s = new Sun('关羽','23');
//然后调用showname这个方法
p.showname();
s.showname();
在命令行node 以上代码会出现
初入Node.js不久,这一串代码理解了将近3个小时左右,如代码注释有误请大神及时指出 谢谢