2018年3月8日23:06:06
开课前 的 金融知识
{
1.给生活加杠杆
2.最低资金成本
ps :
100万 --- 国债 --- 3%
转抵押
70万 -- 贷款 -- 银行 --- 1.5%
--贷给-- 小额贷款公司 ---- 0.5%
循环......
}
javascript 简介 及其 概述
{
(1) 浏览器 的 历史
{
1.第一个浏览器 : www 浏览器 -- 刚出来就挂了
2.实际意义上 的 第一个 浏览器 , 第一个 图形化 浏览器:{
--- Masaic 诞生于 1993 年
创造者 : 马克.安德森
合作者 : 伊利诺伊 大学
两者 因为 利益纠纷 最终 以 伊利诺伊大学 的 版权 胜利而结尾
}
3. Mozliia Firefox 2003 年 改名 火狐 {
Netscape Navigator Corporation 网景公司
马克.安德森 组建的开发团队 研发
网景公司 破产后 开放了 源代码
}
4. IE {
伊利诺伊大学 将 Masaic 的 版权 卖给 了 Spy Glass 公司
Spy Glass 后被 微软 收购
微软 将 Masaic 改名为 IE
}
}
(2) javascript 的 历史
{
诞生于 1996 年 ,
最初 javascript 是作为 Netscape Navigator 浏览器 的 一部分 而存在的。
最初 javascript 的 名字 是 livescript ,
后因为 与 sun 公司合作 ,因为 市场宣传 需要 改名为 javascript
后来 sun 公司 被 Oracle 公司 收购 ,
javascript 的 版权 归 Oracle 公司 所有.
Oracle 甲骨文公司
}
(3) 浏览器 的 组成
{
1. shell 部分{
翻译: 贝壳
作用: 用户 能够操作 的 部分
}
2. 内核 部分{
作用: 用户 不能操作 的 部分
$ 渲染( 绘制 )引擎 {
作用: -语法规则 ( HTML CSS... 语法 的 识别)
-渲染
逐条绘制
16毫秒更新一次浏览器的状态
}
$ js 引擎
$ 其他 引擎
}
}
(4) js 引擎 的 历史
{
2001 年 ,
微软 发布了 XP 操作系统 和 IE6 ;
IE6 首次实现 对 js 引擎 的优化 和 分离。{
诞生之前 js 依靠的是 渲染引擎 , 只能写 20 行 代码;
诞生之后 js 代码 能写 万行以上。
}
2008 年 谷歌 联合 苹果 研发了 Chrome ;
Chorme 的 V8 引擎 能够 直接将 js 代码 转换成 机械码 来执行。{
Chorme 的 V8引擎 是用 C++ 语言 编写的;
javascript 语言 是用 C语言 编写的。
}
Firefox 火狐 也推出了 具有 强大功能 的 js 引擎;{
Firefox 3.5 TraceMonkey{
对 频繁执行 的 代码 做了 优化路径。
}
Firefox 4.0 legerMonkey
}
}
(5) javascript 的 专业知识
{
[1]. 特点/特色/逼格 ——> 解释性 语言{
1. 编译性 语言 / 编译性 翻译 语言{
举例: { C、C++ ... }
功能: {
先 通篇翻译
生成 一个 翻译完 的 文件
系统会 执行 这个文件
}
优点: {快}
不足: {移植性不好 , 不跨平台}
}
2. java 语言{
通过 指令 javac 通篇翻译(编译) ;
生成 一个 .class 文件;
jvm 虚拟机 解释执行 这个文件.
}
3. 解释性 语言 / 解释性 翻译 语言{
举例: {javascript Python}
功能: {逐行翻译 , 翻译一行 执行一行}
优点: {跨平台 , 因为都是 0101 代码}
不足: {比 编译性语言 运行速度 稍微慢}
}
}
[2] 单线程 与 多线程
{
单线程{
1.现实中 的 同步:{
一个人 在同一时间里 只能 做一件事;
必须把 这件事 放下来 才能做 另一件事.
}
-1.计算机中 的 同步: {
= 现实中 的 异步 (翻译的原因)
}
}
多线程:{
2.现实中 的 异步: {
一个人 在同一时间里 能做 很多事
}
-2.计算机中 的 异步:{
= 现实中 的 同步 (翻译的原因)
}
}
}
[ 准确的说 js 引擎 是 单线程的 ]
[3] ECMA 标准 {
js 兼容 ECMA 标准
因此 javascript 也称为 ECMAScript / ES / es
}
}
(6) javascript 的 组成
{
0.三大部分:{
ecmascript
DOM
BOM
}
1.原生部分:{
ecmascript : {功能: 加减乘除 、 定义变量 、数组......}
}
2.浏览器提供的: {
DOM : {功能 : 操作文档 HTML CSS.....}
BOM : {功能 : 操作浏览器}
}
}
(7) javascript 的 执行队列
{
【 js 执行主线程 】
↑
|
|
【 task1 , 1ms 】 ←--- [task2 , 1ms] ←--- 【 task1 , 1ms 】 ←--- [ task2 , 1ms ]
轮转时间片: 类似吃饭
ps: {
任务 1 、任务 2{
把 任务 1 以 毫秒 、 微秒 的 速度 切成 无数片;
把 任务 2 以 毫秒 、 微秒 的 速度 切成 无数片;
将 这些 片段 随机排列 , 谁在前 谁在后 是 不确定的,
在前 的先执行 (争抢时间片);
然后,
一个片段 一个片段 的 往 js 引擎里 送,
js 引擎 以 一个时间片 为单位 去执行
}
}
}
补充 :{
因为 单线程 是以 毫秒/微秒 级 执行的,
(模拟多线程)
速度足够快 所以会 产生 视觉上 的 错觉,
像是 同时 执行了 两个时间片,
其实 看到 的 只是 "残影" , 只执行了 一个时间片。
}
}