一.五大主流浏览器及内核
IE trident
chorme webkit blink
safari webkit
firefox gecko /ˈɡekəʊ/
opera presto (opera 12.17及更早版本使用的内核,现已停止开发并废弃,
首次使用2007年 opera 7版本中)
opera现已改用 google chorme 内核 blink
二.浏览器的历史和JS诞生
- 1990年
- 蒂姆 伯纳斯 李 于 欧洲核子物理实验室 创建 WorldWideWeb,
- 后将其移植到c , 改名为 nexus ,允许别人浏览他人的网站
1993年
- 美国 伊利诺大学 NCSA组织的 (马克 安德森)
- MOSICA浏览器 => 可以显示图片 图形化浏览器
1994年
- 马克 安德森 和 吉姆 克拉克 (SGI硅图公司创始人) 一起建立MOSIA communication corporation 公司
- 因MOSIA 版权属于伊利诺大学 => 转让给spy glass公司
- 为了避免和NCSA商标拥有权问题,随后创建了Netscape communication corporation 公司(网景公司)
- 并开发了 NetScape Navigator(网景导航者)
1996年
- 微软公司收购了 spy glass公司
- 随后发布了 IE internet explorer 1.0
- IE3 发布出现了 Jscript
- 网景公司 Brendan eich 在Netscape Navigator 开发除了 liveScript
- java 火起来了,而liveScript不温不火
- 随后和SUN公司合作推广,liveScript 改名为 javaScript
2001年
- IE6 WIndowsXP 诞生
- JS引擎
2003年
- mozilla 公司 firefox浏览器 => NetScape Navgatior 基础上改的
2008年
- google公司 基于webkit blink
- 开发出 Chorme => v8引擎 => JS引擎
- 直接翻译机器码
- 独立于浏览器运行
2009年
- 甲骨文公司 oracle 收购SUN公司
- JS 所有权属于甲骨文公司
三.ECMA
European Computer Manufactures Assocation
欧洲计算机制造联合会
负责评估开发认证电信计算机标准
ECMA-262 脚本语言的规范 ECMAScript
四.编程语言
计算机只能理解1和0
- 编译型
- 源码 => 编译器 => 机器语言 => 可执行的文件
- 解释型
- 源码 => 解释器 => 解释一行执行一行
- 解释性语言 不需要根据不同的系统平台进行移植
五.脚本语言
脚本引擎 => 解释器
前端: javaScript 客户端脚本
后端: php 服务端脚本
六.JavaScript
- ECMAScript
语法,变量,关键字,保留字,值,原始类型,应用类型,对象,继承,函数
- DOM document object model W3c规范
- BOM borwser object model 没有规范
JS引擎 单线程
- 可以模拟单线程 => 轮转时间片
- 短时间之内轮流执行多个任务的片段
- 任务1 任务2
- 切分任务1 ,2
- 随机排列这些片段,组成队列
- 按照这个队列顺序将任务片段送进Js进程``
- JS线程执行一个又一个的任务片段
编程语言:
变量,数据结构,函数,运算
js文件的引入
1.外部引入
<script type="text/javascript" src="js/index.js">
这里写代码不会被执行
</script>
2.内部引入
<script type="text/javascript">
内部代码会被执行
</script>
七.变量
变量 => 容器 => 用来存储数据,以便后续使用
// var => varible
var a; // 声明变量
a = 3; // 变量赋值
var a = 3; 变量声明赋值
1. 声明变量
2. 变量赋值
// 声明多个变量
var x = 1,
y = 2;
var z = x + y; // z = 3
// 运算 > 赋值
变量的命名规范
- 不能以数字开头,
- 字母_$开头,
- 可以包含 字母_$数字
- 关键字 保留字
- 语义化 结构化
- 小驼峰
- myEnglishName
八.JS的值
1.原始值 => 基本类型
// Number String Boolean undefined null
// 1.Number
var a = 1;
var a = 3.14;
// 浮点型 和 整数型 都是数据类型
// 2. String
var str = 'i like js'; // 单引号双引号之间都是字符串类型
// 3. Boolean 布尔值类型 true false
var a = false;
document.write(a);
// 4. undefinded
var a;
document.write(a);
// 5. null 空值,初始化组件,函数,销毁函数,占位
2.引用值
- object
- Array
- function
- date
- reg
动态语言 => 脚本语言 => 解释型语言 => 弱类型语言
静态语言 => 编译型语言 => 强类型语言
3. 内置类型
Javascript内置七种类型:
- null 空值
- undefined
- boolean
- number
- string
- object
- Symbol (ES6新增下)