nodejs 和 js

JavaScript组成:ECMAScript(定义这门语言的基础,比如语法、数据类型、结构以及一些内置对象等)、DOM(基于ECMASCRIPT,扩展出来的用于操作页面元素的方法)、BOM(基于ECMASCRIPT,扩展出来的用于操作浏览器的一些方法)。

NodeJS是以ECMASCRIPT为基础,然后在这个基础上扩展出来的一些操作其他东西(即操作非浏览器)的一些方法,比如操作OS操作系统、file文件系统、net网络、database数据库等。也就是说nodejs和JS在底层都是一样的,都是ecmascript,但是扩展出来的功能却是不一样的。一个是偏向于前端浏览器,一个是偏向于后端。
在ecmascript部分node和JS其实是一样的,比如与数据类型的定义、语法结构,内置对象。但在js中的顶层对象是window对象,但是在node中没有什么window对象,node中的顶层对象是global对象。这就是二者的差异性。

在window对象中,定义一个全局变量是可以通过Window来访问的,但是在node中是不能通过global对象来访问的,如:
var a=100;
console.log(global.a);这种方式是输出结果为undefined
对于上面这个例子,因为在node中定义的变量是模块中的对象,而并不是global全局变量,所以结果为undefined
ECMAScript中文版:http://lzw.me/pages/ecmascript/

转载于:https://www.cnblogs.com/JohnLiang/p/11362127.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值