客户端的JavaScript是怎样的

什么是 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的框架;

你可能感兴趣的:(客户端的JavaScript是怎样的)