目录
一、发展史
1.主流浏览器 内核
• IE trident
• Chrome webkit blink
• Safari webkit
• Firefox gecko
• Opera presto
2.浏览器历史
• 1990 蒂姆 博纳斯 李 world wide web 允许他人浏览别人编写的网站
• 1993 美国伊利诺大学 NCSA组织(马克 安德森) MOSIAC浏览器 可以显示图片
• 1994 马克 安德森和吉姆克拉克 成立Netscape通信公司
• 1996 微软收购spy glass ,创造IE 1.0;网景公司在Netscape navigator基础上开发出livescript(之后更名为JavaScript)
• 2001 IE6 XP诞生
• 2003 Mozilla公司 Firefox诞生
3.ECMA
• European Computer Manufactures Association(欧洲计算机制造联合会)
• ECMA - 262 脚本语言的规范 ECMAScript
• ES5、ES6 规范化脚本语言
二、编程语言
编译型
源码 -》编译器 -》机器语言-》可执行的文件源码-》解释器-》解释一行就执行一行
优点:运行速度比较快
缺点:跨平台需要重新编译,跨平台移植不是很好
解释型
源码 -》解释器 –》 解释一行执行一行
优点:不需要根据不同的系统平台进行移植
缺点:运行比较慢
脚本语言
脚本引擎-》解释器-》解释一行执行一行
JavaScript:客户端脚本 JavaScript解释器是在浏览器上的
php:服务端脚本 php解释器是在服务器上的
三、JavaScript简介
JavaScript包括ECMAScript、DOM、BOM三部分
1.ECMAScript
语法、变量关键字、保留字、值、原始类型、引用类型、对象、继承、函数
• JS引擎:
- 是单线程的
- 模拟多线程(轮转时间片:短时间内轮转执行多个任务)
【 单线程:只能同时做一件事;多线程:可以同时做多件事】 - 模拟过程:
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.内部引用(直接写html文件里)
3.type=“text/javascript”
(1)可以不写,建议写上,告诉浏览器是文本的javascript文件
(2)在开发中可以故意写错,目的是为了在其中写html,当成一个模板
(3)一般使用外部引用, 好维护
五、JS变量命名
1.声明
var x=1, //这里用逗号隔开,表明并列声明X和y(不能用分号,分号代表语句结束)
y; //x实质是先声明后赋值,y只有声明
JavaScript声明变量只用var,运行时引擎根据赋值判断数据类型,因此JavaScript是弱类型语言
PS:动态语言一般是脚本语言,脚本语言一般是解释型语言,解释型语言一定是弱类型语言;
静态语言一般是编译型语言,编译型语言一定是强类型语言。
2.命名规范
(1)不能以数字开头
(2)能以字母 _ $ 开头
(3)字母 _$数字
(4)不能使用关键字、保留字 https://www.runoob.com/js/js-reserved.html
(5)语义化命名(要有意义),结构化(例:J_head j_header j-header)
(6)变量名小驼峰,首字母小写,后面每个单词第一个字母大写(类名是大驼峰)