nodeJs和JavaScript的异同(转)
原文:https://blog.csdn.net/lazycode_cat/article/details/61916291
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/
---------------------
作者:敲代码的猫
来源:CSDN
原文:https://blog.csdn.net/lazycode_cat/article/details/61916291
版权声明:本文为博主原创文章,转载请附上博文链接!
相关文章
- [Javascript] Link to Other Objects through the JavaScript Prototype Chain (Object.setPrototypeOf())
- [Javascript] Understanding the difference between .prototype and .__proto__ in JavaScript
- [Javascript] Wait for the Fastest JavaScript Promise to Be Fulfilled with Promise.any()
- [Javascript] Create an Image with JavaScript Using Fetch and URL.createObjectURL
- [Javascript] Multiply Two Arrays over a Function in JavaScript
- [Javascript] Conditionally spread entries to a JavaScript object
- [Javascript] Await a JavaScript Promise in an async Function with the await Operator
- [Javascript] JavaScript赋值时的传值与传址
- [Javascript] Decorators in JavaScript
- [Javascript] Broadcaster + Operator + Listener pattern -- 17. Building a Word Matching Game
- [Javascript] Understanding the difference between .prototype and .__proto__ in JavaScript
- [Javascript] Conditionally spread entries to a JavaScript object
- [Javascript] Multiply Two Arrays over a Function in JavaScript
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
- [Javascript] Replicate JavaScript Constructor Inheritance with Simple Objects (OLOO)
- [Javascript] What is JavaScript Function Currying?
- [Javascript] An Introduction to JSPM (JavaScript Package Manager)
- [Javascript] Linting JavaScript with ESLint
- JavaScript 逗号表达式
- 理解JavaScript中的事件处理
- 4个Javascript 中的 for 循环
- 169. 使用 Chrome 开发者工具分析 SAP UI5 应用的 JavaScript 代码执行性能瓶颈
- JavaScript自定义排序条件
- JavaScript and Ruby in ABAP
- Atitit.js javascript的rpc框架选型
- 【JavaScript变量】Javascript的全局变量&局部变量
- javascript基础修炼(10)——VirtualDOM和基本DFS
- 資料視覺化:使用Python與JavaScript 简介和目录
- web前端Javascript学习之了解JavaScript弹出框