- JavaScript 是一门解释型脚本语言。
- JavaScript 是一种轻量级的编程语言。
- JavaScript 插入 HTML 页面后,在浏览器中执行。
解释型语言:
解释型语言的程序在运行前不需要编译,运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码(这样解释型语言每执行一次就要翻译一次,效率比较低)
由此可知,浏览器是JavaScript的运行环境(浏览器内核),那么js是不是只能在浏览器中运行呢?
答案当然不是!node 也是 JavaScript 的运行环境。
===================================================
2. 现在知道了node 是什么,接下来我们就来讲讲 node 环境和浏览器的区别:
- 全局环境下this的指向。
在node中this指向global,而在浏览器中this指向window。
- DOM 操作。
浏览器中的 js 大多数情况下是在直接或间接(一些虚拟DOM的库和框架)地操作DOM,因为浏览器中的代码主要是在表现层工作。
但是node是一门服务端技术,没有一个前台页面,所以我们不会在node中操作DOM。
- I/O读写
node 提供了读写文件的组件。而浏览器(确保兼容性的)想在页面中直接打开一个本地文件就麻烦了好多(可引用 js 库、二进制流,或者上传上去有了网络地址在显示)。
还有其他区别我之后会进行补充的。三人行,必有我师焉!我还只是个初出茅庐的小码农,希望各位小哥哥小姐姐不吝赐教!有好的建议和宝贵经验分享尽管向我砸过来。