学习方法
- 学会提问
- 科学思考
eg:
为什么要学node.js?
- node.js 很火。很多公司招聘都要求 node.js
继续提问node为什么火(这时候就要对比他们的区别了)?
3.node.js和JavaScript有什么区别?
- node.js是平台(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境)。JavaScript是编程语言。
衍生问题什么是平台:
(1)用户软件:
- 浏览器:html、css、js
- 安卓:java、Python、C++、C#
- IOS: OBjective-C、C++
- windowsPC: C、 C++ 、VB
(2)服务端软件:
- Java ,C++、node.js、Python、Php、C
(3)什么是计算机语言?什么是编程语言?
- 计算机语言:指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。
- 编程语言:是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。
语言的比较:词法分析。语法分析。语义分析。
(4)什么是词法分析?
- 是计算机科学中将字符序列转换为单词(Token)序列的过程。
- 识别关键字,标识符,分界符,运算符。
- 关键字:var if else funtion return 等待都是关键词
- 标识符:在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。如 var = 1; funtion add (a,b){ }
- 分界符:(),{} (把内容分成不同的域)
- 运算符:+ - * / ^(异或)
(5)如果一个语言X和一个语言Y拥有相同的词法分析。那么X和Y是同一种语言吗?
- 答案很明显,不是。
(6)什么是语法分析?
- 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语(简单说就是将代码转化为命令语句或者短语)
(7)如果一个语言X和语言Y拥有相同的语法分析,那么X和Y是同一种语言吗?
- node.js 和 JavaScript 词法和语法都一样
我们在来看下一个问题。
(8)什么是语义分析?
- 程序作用在操作系统上,生成计算机操作系统能够执行的程序。
通过以上这么多提问,我们应该明了了一些。Javascript是靠浏览器的js引擎编译实现的。node.js是靠后台服务器编译实现。
尽管他们的词法和语法都相同,但是编译环境不同,这就是他们的异同点。
小结:node.js 和 javascript 从本质上来说没有什么区别,语言是一样的,都是javascript语言编写。 但是,node.js 主要从事后台操作,javascript主要操作HTML的元素(前端)。
未完待续。。。。。。