从零开始的Nodejs学习笔记#0(nodejs介绍、全局对象global)

173 阅读1分钟

什么是Nodejs?为什么要使用Nodejs?

一般js指运行在浏览器端的javascript,包含EcmaScript和Web Api,然而Web Api能力是十分有限的,它的行为受到浏览器的控制(如跨域问题,文件读写) nodejs指运行在node环境下的javascript,包含EcmaScript和Node Api,而Node Api可以做的事情就很多了浏览器环境下与Node环境下的js 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属性打印global对象,里面没有__dirname和__filename 其实node中的代码会放在一个函数中执行,不妨试试打印console.log(arguments)看一下传进来的参数:在这里插入图片描述 参数顺序依次为:exportsrequiremodule__filename__dirname exports在稍后会被赋值为module.exports