乐趣区

nodejs和js之间有什么区别

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。JavaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言.

js(JavaScript)是一种高级的、解释型的编程语言;它是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

node.js 与 js 的区别:

1、node.js 是平台,Js 是编程语言;

2、js 是客户端编程语言,需要浏览器的 JavaScript 解释器进行解释执行;

3、node.js 是一个基于 Chrome JavaScript 运行时建立的平台,它是对 Google V8 引擎进行了封装的运行环境;

4、node.js 就是把浏览器的解释器封装起来作为服务器运行平台,用类似 JavaScript 的结构语法进行编程,在 node.js 上运行。

5、node.js 与 js 组成不同:

JavaScript:

  • ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
  • DOM(一些操作页面元素的方法)
  • BOM(一些操作浏览器的方法)

Node.js:

  • ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
  • OS(操作系统)
  • file(文件系统)
  • net(网络系统)
  • database(数据库)

6、顶层对象不同

在 JS 中的顶层对象是 window 对象,但是在 node 中没有什么 window 对象,node 中的顶层对象是 global 对象。这就是二者的差异性。

在 window 对象中,定义一个全局变量是可以通过 Window 来访问的,但是在 node 中是不能通过 global 对象来访问的,如:

var a=100;
console.log(global.a);

这种方式是输出结果为:

undefined

对于上面这个例子,因为在 node 中定义的变量是模块中的对象,而并不是 global 全局变量,所以结果为 undefined。

退出移动版