发展史
五大主流浏览器
浏览器名称 | 浏览器内核 |
---|---|
chrome | webkit/blink |
IE | trident |
Opera | presto |
FireFox | gecko |
Safari | webkit |
浏览器发展简单历史
时间 | 地点 | 人物 | 事件 |
---|---|---|---|
1990 | 欧洲核子研究所(cern) | 蒂姆博纳斯李 | 1:创办万维网基金会(World Wide Web) 2:将W3C移植到C语言 |
1993 | 伊利诺大学 | 马克安德森 | 1:开发了MOSIAC浏览器(基于UNIX) 2:MOSIAC浏览器可以显示图片 |
1994 | 马克安德森,克拉克 | 1:创办了MOSAIC公司(由于版权属于伊利诺大学) 2:创办网景公司。 3:开发了Navigator浏览器 4:伊利诺大学将版权卖给了硅图公司。 |
|
1996 | 微软 | 1微软收购SGI公司。 2:开发了IE1.0 |
|
1996 | 微软 | 1:推出了IE3.0 2:推出了JScript |
|
1996 | 网景公司 Brendan Eic | 1:开发出LiveScript | |
1996 | 1:和SUN公司合作 2:取名为JavaScript |
||
2001 | 微软 | 1:xp诞生 2:IE6 3:JS引擎 |
|
2002 | 网景公司开放源代码 | ||
2003 | Mozilla公司 | 1:推出FireFox浏览器(基于navigator浏览器 | |
2008 | Google公司 | 1:推出chrome浏览器 2:基于webkit/blink/gear 3:开发出V8引擎 1:独立于浏览器(Node)。 2:直接翻译机器码 |
|
2009 | 甲骨文 | 甲骨文收购SUN公司。JavaScript 归属于甲骨文 |
ECMA
欧洲计算机制造商协会(European Computer Manufactures Association)
职责:评估、开发、认可电信和计算机标准。
ECMA 262规范
脚本语言规范 ECMAScript ES X的语言都是规范化的语言。
编程语言
- 分类
- 编译型
- 源码 =>编译器 =>机器码 =>可执行文件(c#,.net)
- 解释型
- 源码=>解释器=>解释一行 执行一行 。
- 不需要不同平台进行移植
- 编译型
- 高级语言
- 脚本语言
- JScript、vbScript(客户端)、actionScript(adobe flash)
- 客户端脚本(js)。服务端脚本(php)
- 源码=>引擎=>编译器
- 脚本语言
四要素
语法
变量
- 功能: 容器 存储数据
- 命名规范
- 不能以数字开头
- 能字母_$开头
- 字母_$数字
- 关键字 保留字(class int)
- 语义化 解构化
- 小驼峰 大驼峰命名
- 运算>赋值
var a = 1,
b = 3;
var z = a + b;//运算>赋值
关键字
- 值
动态语言 ->脚本语言 ->解释型语言 ->弱类型语言
静态语言 ->编译型语言 ->强类型语言
-
BOM
浏览器宽高 正则表达式 滚动条
-
JS引擎
单线程 来模拟多线程
- 轮转时间片:短时间内轮流执行多个任务的片段
- 任务1 任务2
- 切成任务1的片段和任务2 的片段
- 随机排成生成一个任务片段队列
- 将这个任务片送入到js 进程里。
- js 执行一个又一个的任务片段。
- 轮转时间片:短时间内轮流执行多个任务的片段
-
内存
栈内存
- 原始值存储在栈内存
var a = 1;
var b = a;
a = 2;
console.log(b);//1 浅拷贝
console.log(a);//2
- 原始值存储在栈内存
堆内存
- 引用值指针地址存在栈内存
var arr = [1,2,3];
var arr1 = arr;
arr=[1,2];
var arr2 = arr;
arr.push(3);
console.log(arr1);//输出为[1,2,3]
console.log(arr2);//输出为[1,2,3] push 进来改变的是原数组
- 引用值指针地址存在栈内存