Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions homework/lesson1/bigcloris.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 第一次学习Javascript总结


标签(空格分隔): 未分类

---

#类比银行开户流程环境讲解程序运行环境
通过不断优化银行开户的步骤,最终完成一套设计完美的流程。
![优化后的开户流程][1]


整个流程设计两大主体部分:用户和银行,用户和银行之间涉及三大步骤:请求服务、输入和输出。而银行内部拥有建立的开户环境,开户环境中包括内置服务、预处理和执行,其中内置服务部分是为了预处理和运行做的前期准备,预处理是为执行部分顺畅运行做的检查工作,而执行部分是开户的核心部分。
![构建业务架构][2]
银行根据用户的不同分为普通用户和VIP用户,其实每类用户包含相同的步骤,开户环境分别抽象为内置服务和业务核心两部分,而业务核心就打包合并了上述中的预处理和执行部分。除此之外还需要第三方服务,因为自己的环境中需要链接外部已经建立的优秀流程部分,需要的时候只需调用即可。
![JS运行环境框架][3]
JS运行环境框架与上述银行开户的业务架构极其相似。JS代码如同用户,JS运行环境如同银行环境,浏览器运行环境和Nodejs运行环境如同银行中的两类用户的环境,而每类环境中V8引擎负责业务核心。值得注意的是,两类环境中都存在内置服务和第三方库,但是各自的内容都不相同。
#编译型语言和解释型语言
编译型语言(如C语言和C++)是先编译后运行,需要一个编译代码的过程,通过编译器翻译成机器语言。
特点:运行效率高;缺点:开发效率低。
![编译型语言][4]
解释型语言(如JavaScript)是边编译边运行,每一句的代码都是边编译边运行的。
特点:开发效率高;缺点:运行效率低。
![解释性语言][5]



[1]: http://wx3.sinaimg.cn/mw690/95a79662ly1fihd5trymgj20mn0irdis.jpg
[2]: http://wx3.sinaimg.cn/mw690/95a79662ly1fihd5uef3qj20k70d9wg0.jpg
[3]: http://wx4.sinaimg.cn/mw690/95a79662ly1fihdw40385j20k20dfjt3.jpg
[4]: http://wx4.sinaimg.cn/mw690/95a79662ly1fiheed1dt0j20kx0cyq4j.jpg
[5]: http://wx3.sinaimg.cn/mw690/95a79662ly1fiheedv6zij20mp0bomyq.jpg