node.js--全局对象

1、node.js概述

node.js基于谷歌的v8引擎(JS解释器),运行在服务器端的语言,基于JS

2、JS和NodeJS对比

(1)JS运行在浏览器端,存在兼容性问题;nodejs运行在服务器端,不存在兼容性问题

(2)两者都有内置对象、自定义对象、宿主对象(根据执行环境的不同)

(3)Js用于网页中的交互效果,nodejs用于服务器端的操作,例如:创建web服务器、操作数据库。。。

2、全局对象

nodejs下:global

在交互模式下,声明的变量和创建的函数都是全局对象下的,可以使用global来访问,例如:var a=1;global.a

在脚本模式下,文件中声明的变量和创建的函数不是全局对象下的,不能使用global来访问

ja下:window

在浏览器下,文件中声明的变量和创建的函数是全局变量下的,可以用window来访问,例如:var a=1;window.a

 

    (1)console对象        

global.console.log()//打印日志
global.console.info()//打印消息
global.console.warn()//打印警告
global.console.error()//打印错误
global.console.time('自定义字符串')//开始计时
global.console.timeEnd('自定义字符串')//结束计时,注:自定义字符串前后要保持一致

    (2)process对象

process.arch//查看cpu架构
process.platform//查看系统
process.env//查看环境变量
process.version//查看当前nodejs的版本
process.pid//查看当前的进程编号
process.kill()//杀死某个编号的进程

    (3)Buffer

        缓冲区:在内存中存储数据的区域,存储网络传输时的资源

        创建buffer

            var buf=Buffer.alloc(数字,数据)    数字为buffer空间的大小,数据为buffer内存储的内容

var buf=Buffer.alloc(5,'qwert');
console.log(buf);
//转换为普通字符串
console.log(buf.toString());

    (4)模块系统

            模块是一个预定好的功能体,在nodejs下,每一个文件都是一个模块

            在nodejs下分为自定义模块、核心模块(官方模块)、第三方模块

            在nodejs下,一个文件就是一个模块,文件中的代码默认是被一个构造函数包含

(function(exports,require,module,__filename,__dirname){
//程序员编写的代码
})

            __filename:当前文件的完整路径和文件名称

            __dirname:当前文件的完整路径

            require:是一个函数,用于引入模块,如:require('./07_2.js)

            module:指代当前的模块

            module.exports:当前模块到处的对象(公开的内容),可以供其他的模块使用的属性和方法,等价于exports

注意:模块下的变量属于局部变量,只能在模块中使用,不能使用global访问,也不能被其他模块直接使用

模块导入:

 以路径开头不以路径开头
文件模块require('./***.js'),常用于用户自定义模块,如果后缀名是js,可以省略

require('url')

 常用于引入官方提供的核心模块

目录模块require('./***),会在当前目录***中寻找package.json文件中的main属性对应的值,如果不存在该文件,则自动寻找index.js

require(目录名称)

要求引入的目录出现在node _modules中,如果找不到,则会象上一级目录查找,直到顶层,常用于第三方模块

    (5)第三方模块

npm官网:http://www.npmjs.com

    (6)核心模块

            是nodejs官方提供的模块,可以直接引入,不需要创建

            1⃣️查询字符串模块--querystring

                查询字符串:向浏览器发送请求,传递数据的一种方式

                协议,域名(IP),端口

 

3、全局函数

parseInt/parseFloat/encodeURI/decodeURI/isNaN/isFinite/eval

     (1)一次性定时器

            var timer=setTimeout(回调函数,间隔时间)

            功能:一次性定时

            参数:回调函数,执行时间到了运行的内容;间隔时间

            返回值:对象,清除定时器时用clearTimeout(timer)

//一次性定时器
var timer=setTimeout(()=>{
	console.log('定时器时间到后执行的内容');
},3000);
//清除一次性定时器
clearTimeout(timer);

    (2)周期性定时器

            var timer=setInterval(回调函数,间隔时间)

            功能:间隔定时

            参数:回调函数,每个一段时间执行的内容,间隔时间

            返回值:对象,清除定时器时用到,clearInterval(timer)

//周期性定时器
var timer=setInterval(()=>{
	console.log('每隔3秒执行一次');
},3000)
//清除定时器
clearInterval(timer);

    (3)立即执行定时器

        var timer=nextTick(回调函数),在当前事件的结尾执行

        setImmediate(回调函数),在下一组事件的开头执行,清除:clearImmediate(timer)

//立即执行定时器
process.nextTick(()=>{
	console.log('tick');
});

setImmediate(()=>{
	console.log('立即执行');
})

 

转载于:https://my.oschina.net/u/4165441/blog/3102633

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值