什么是 JavaScript?
+ 脚本语言
+ 运行在浏览器中
+ 一般用来做客户端页面的交互(Interactive)
JavaScript 的运行环境?
+ 是不是运行在浏览器呢?
+ 不够严谨
+ 运行在浏览器内核中的 JS 引擎(engine)
浏览器中的 JavaScript 可以做什么?
+ 操作DOM(对DOM的增删改、注册事件)
+ AJAX/跨域
+ BOM(页面跳转、历史记录、console.log()、alert())
+ ECMAScript
浏览器中的 JavaScript 不可以做什么?
+ 文件操作(文件和文件夹的CRUD)
+ 没有办法操作系统信息
+ 由于运行环境特殊(我们写的代码是在不认识的人的浏览器中运行)
在开发人员能力相同的情况下编程语言的能力取决于什么?
+ -语言本身?-
+ 语言本身只是提供定义变量,定义函数,定义类型,流程控制,循环结构之类的操作
+ 取决于运行该语言的平台(环境)
+ 对于JS来说,我们常说的JS实际是ES,大部分能力都是由浏览器的执行引擎决定
+ BOM和DOM可以说是浏览器开放出来的接口
+ 比如:Cordova中提供JS调用摄像头,操作本地文件的API
+ Java既是语言也是平台
+ Java运行在Java虚拟机(跨操作系统)
+ PHP既是语言也是平台(跨操作系统)
+ C#语言平台:.NET Framework(Windows)
+ C#可以运行在MONO这样的平台
+ 因为有人需要将C#运行在Linux平台,所有出现了MONO
JavaScript 只可以运行在浏览器中吗?
+ 不是
+ 能运行在哪取决于,这个环境有没有特定平台
### 什么是Node
- Node 就是 JavaScript 语言在服务器端的运行环境
- 所谓“运行环境(平台)”有两层意思:
+ 首先,JavaScript 语言通过 Node 在服务器运行,在这个意义上,Node 有点像 JavaScript 虚拟机;
+ 其次,Node 提供大量工具库,使得 JavaScript 语言与操作系统互动(比如读写文件、新建子进程),在这个意义上, Node 又是 JavaScript 的工具库。
Node是一个JavaScript的运行环境(平台),不是一门语言,也不是JavaScript的框架;