什么是Nodejs?为什么要使用Nodejs?
一般js指运行在浏览器端的javascript,包含EcmaScript和Web Api,然而Web Api能力是十分有限的,它的行为受到浏览器的控制(如跨域问题,文件读写)
nodejs指运行在node环境下的javascript,包含EcmaScript和Node Api,而Node Api可以做的事情就很多了
Node环境可以直接操作操作系统,那功能确实比在浏览器端强多了。与传统后端语言相比,Nodejs有自身的优劣性:
- 优势:单线程,IO速度快
- 劣势:js是解释型语言,运算速度慢
那Node到底有什么用?Nodejs是一门后端语言,可以在浏览器与后端交互时担任中间角色对数据进行转发。或者搭建一个微型的服务器应用。
Node中的全局对象
说起window对象,大家应该很熟悉了,它是浏览器中的全局对象,那么node中的全局对象是怎么一回事呢?小编来带大家一起看看。。
言归正传,node中的全局对象为global,相当于浏览器中的window对象,global对象的global属性指向自己实现调用global.global = global
,global中的一些重要属性:
- setTimeout
- setInterval
- setImmediate
- console
- Buffer
- process
- cwd()
- exit
- argv
- plantform
- kill(pid)
- env
详细功能不赘述了
还有__dirname与__filename,它们不是gloabl中的属性,前者值为模块路径,后者值为文件路径。打印global对象,可以看见里面没有__dirname和__filename属性
其实node中的代码会放在一个函数中执行,不妨试试打印console.log(arguments)
看一下传进来的参数:
参数顺序依次为:exports
;require
;module
;__filename
;__dirname
exports在稍后会被赋值为module.exports