• Nodejs模块


        Node.js自动为每个文件添加了一个构造函数

    (function (exports,require,module,__filename,__dirname){

       //程序员写的代码

    } )

    exports——导出的对象

    require()——是一个函数,用于引入其他的模块

    module——当前的模块对象

    module.exports——导出的对象,和exports两者指向同一个对象;这个是真正的导出对象

    __filename——当前模块的绝对路径和模块名称

    __dirname——当前模块的绝对路径

    1. 模块分类

    模块分为自定义模块、核心模块、第三方模块。

    引入模块方法:

             文件模块                                目录模块
    以路径开头

    require('./circle.js')

    常用于引入自定义模块

    require('./02_ran')

    会到目录下寻找package.json中main属性对应的文件,如果找不到则引入index.js

    不以路径开头 require('querystring')  常用于引入官方提供的核心模块

    require('./04_2')  会到当前目录下的node_modules中寻找,如果找不到会一直往

    上一级寻找,知道顶级盘符目录,常用于引入第三方模块

    2. 查询字符串模块——querystring

      查询字符串是浏览器向web服务器请求传递数据的一种方式,位于URL中。查询字符串模块是用于处理和解析查询字符串的。

           parse()——将查询字符串解析为对象

      例:获取以下查询字符串中的数据wd=china&place=beijing

    //引入查询字符串模块(安装node.js后就会存在)
    const querystring=require('querystring');
    //查询字符串
    let str='wd=china&place=beijing';
    //使用查询字符串模块解析为对象
    let obj=querystring.parse(str);
    console.log(obj.wd,obj.place);

    3. URL模块

      URL: 统一资源定位

     http://www.codeboy.com:9999/admin/login.html?uname=root

      协议      域名/IP地址         端口号    文件的路径         查询字符串

    parse()——将URL解析为对象,得到各个部分

    //引入核心模块URL
    const url=require('url');
    let str='http://www.codeboy.com:9999/admin/login.html?uname=root';
    //解析URL为对象
    let obj=url.parse(str);
    console.log(obj);

    结果为:

     4. 定时器模块

        (1)一次性定时器

    let timer=setTimeout(回调函数,间隔时间);//开启

    当间隔时间到了,会执行1次回调函数;单位是毫秒

    clearTimeout(timer);  //清除   

      (2)周期性定时器

    let timer=setInterval(回调函数,间隔时间); //开启

    每隔一段时间,执行一次;

    clearInterval(timer);   //清除

      (3)立即执行定时器

    let timer=setlmmediate(回调函数);

    把回调函数放在事件队列的最前面执行,当主程序执行完就会执行事件队列中的回调函数

    clearImmediate(timer);

     process.nextTick(回调函数)

    把回调函数放在事件队列之前,主程序的后边执行

     事件队列:用于放置一组回调函数,当主程序执行完以后,排队执行。
    那些看似不起波澜的日复一日,会突然在某一天让人看到坚持的意义。
  • 相关阅读:
    Leetcode 421.数组中两数的最大异或值
    Leetcode 419.甲板上的战舰
    Leetcode 417.太平洋大西洋水流问题
    Leetcode 416.分割等和子集
    Leetcode 413.等差数列划分
    Leetcode 410.分割数组的最大值
    由股票价格形成因素看如何选股(发布于06-02 13:09)
    巴菲特的资产配置艺术(发布于06-01 13:28)
    ROE能否包打天下?(发布于05-31 11:27)
    价值迟迟不回归怎么办?(发布于05-30 10:02)
  • 原文地址:https://www.cnblogs.com/Dcode/p/12763294.html
Copyright © 2020-2023  润新知