nodejs入门07__核心模块之util、event和path

1.util模块应用实例

以js中继承特性特性为例

/*
 *util工具模块
 * 1.实现继承
 * 2.输出对象
 * 3.类型验证
 *
 *inherits原型继承方法
 *inspect返回一个对象的字符串表现形式
 * 判断类型isArrayis....
 * */
var util = require("util");//引入工具模块
function Person(name) {
   this.name = name;
   this.show = function () {
       console.log(name);
    }
}
Person.prototype.sayhello = function () {
   console.log("hello");
}
 
function Son() {
   // Person.call(div,name,age)
   Person.apply(this,arguments);//通过arguments继承参数this的所属Person
}
//原型继承
util.inherits(Son,Person);
 
var obj = new Son("小明");
obj.sayhello();
 
 
//inspect把对象转为字符串
// console.log(typeof util.inspect(obj);
// typeof [] == "Array"
console.log(util.isArray([]));//返回是数组
终端node运行该文件,返回hello,返回true表示util输出为数组

2.event模块实例

events事件模块,

绑定事件 on addListener

移除绑定事件removeListener

emit触发事件

以下实例模拟了一个小游戏,当da执行一次输出啊,hp用完,则输出“死了”。

var events = require("events");
var util = require("util")//工具类
function Person(){
   this.hp=3;
}
//person构造函数继承事件对象方法
util.inherits(Person,events);
var obj=new Person();
//once绑定事件 只能执行一次  后面调用无效
obj.once("die",function(){
   console.log("死了");
})
obj.on("haha",da)
function da(){
   this.hp--;
   if(this.hp<=0)this.emit("die");
   else console.log("啊");
}
 
obj.emit("haha");//模拟触发事件
obj.removeListener("haha",da);//清除事件监听  下面会报错
obj.emit("haha");
obj.emit("haha");
obj.emit("haha");
终端node运行该文件,只输出一个啊,da事件被清除,程序停止运行.

3.path模块实例

path路径处理模块

path.normalize(url)规范化字符串路径

path.dirname(url)返回路径中文件夹的名称

path.basename(url,'后缀')返回路径中的最后哦一部分

path.join(url1,url2,....)

__dirname当前文件目录的绝对路径

resolve:把参数解析为一个绝对路径

1.是以应用程序的根目录作为起点

2.普通字符串代表当前目录的下一级目录

3.如果没有下一个参数,返回当前目录

4./代表盘符的根目录

//1加载模块
var path = require("path");
//2获取当前文件的当前目录绝对地址
console.log(__dirname);
//获取当前文件名
console.log(__filename);
//3获取当前文件名
var url = path.basename(__filename,"js");
console.log(url);
var url ="nodejs/test/css/../js/../../img";
url=path.normalize(url);//规范化地址
console.log(url);//nodejs/img
 
var url1 =path.join(__dirname,"a","b","..","CSS");//当前目录找到a再找到b,..返回a,输出a的CSS
console.log(url1);
 
var url2 =path.resolve("test","css");//前面加一个/表示当前目录,如果不加表示绝对路径
console.log(url2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值