[TOC]
一、发展史
- 5大主流的浏览器
浏览器
内核
IE
trident
chrome
webkit blink
safari
webkit
firefox
fecko
opera
presto
2. 浏览器的历史 和JS诞生
1. 1990 蒂姆 伯纳斯 李 超文本分享资讯的人
2. 1993 美国伊利诺大学 NCSA组织(马克 安德森) MOSIAC 浏览器 3. 马克 安德森和吉姆克拉克归途
SGI MOSIAC communicat corporation
一、ECMA
European Computer Manufactures Association(欧洲计算机制造联合会)
ECMA - 262 脚本语言的规范 ECMAScript
ES5、ES6 规范化脚本语言
二、编程语言
高级语言:人能理解的语言
编程语言
(1).编译型
翻译过程:源码 -> 编译器 -> 机器语言 -> 可执行的文件 在执行之前已经翻译完了,编译过就可以直接
执行
优点:
运行速度比较快
缺点:
跨平台需要重新编译,跨平台移植不是很好
(2).解释型
翻译过程:源码 -> 解释器 –> 解释一行执行一行
优点:
不需要根据不同的平台进行移植(只要有相应的解释器)
缺点:
运行比较慢
脚本语言
脚本语言 –> 脚本引擎 –> 解释器 前端后端都有:
JavaScript:客户端脚本 JavaScript解释器是在浏览器上的
php:服务端脚本 php解释器是在服务器上的
三. JavaScript重点
(1).ECMAScript
语法、变量关键字、保留字、值、原始类型、引用类型……
单线程:只能同时做一件事
多线程:可以同时做多件事
JS引擎
1. 是单线程的
2. 模拟多线程(轮转时间片:短时间内轮转执行多个任务)
过程:
a) 任务1 任务2
b) 切分任务1 任务2
c) 随机排列这些任务片段,组成队列
d) 按照队列顺序将任务片段送进JS进程
e) JS线程执行一个又一个任务片段
(2). DOM(document object model) 文档对象模型
W3C 规范增删改查标签
(3). BOM (browser object model) 浏览器对象模型
没有相应的规范,可以写相容性
事件
四. JavaScript引用
(1). 外部文件
(2). 内部文件
3 / 47
(3). type=”text/javascript”
1. 可以不写,建议都写,告诉浏览器是文本的javascript文件
2. 在开发中可以写错,为了在其中写html,当成一个模板
3. 一般使用外部引用, 维护起来好维护
五、JavaScript变量
变量 容器->储存数据后续使用
(1).变量声明
(2).变量命名规范
1. 不能以数字开头
2. 能以字母 $ 开头
3. 字母 $数字
4. 不能使用关键字、保留字
5. 语义化命名(要有意义),结构化(例:J_head j_header j-header)
6. 变量名小驼峰,首字母小写,后面每个单词第一个字母大写
运算 > 赋值 优先级的问题
六、JavaScript的值
动态语言 ->脚本语言 ->解释型语言 ->弱类型语言 静态语言 ->编译型语言 ->强类型语言
(1). 原始值 (基本类型、基本数据类型)只有5种
Number(数字类型):包括整形和浮点型
String(字符串类型):单引号或者双引号之间
Boolean(布尔类型):true false 计算机中非真即假 非假既真
undefined 声明了变量但没有赋值,未被定义的
null 空值 初始化组件 函数 销毁函数 占位
(2). 引用值
object(对象)
array(数组)
function(函数)
date(日期)
RegExp(正则)
(3). 栈内存(先进后出)和堆内存
1. 原始值储存在栈内存中,数据是永久保存不可改的
2. 引用值的地址存在栈内存,值存在堆内存
