1. 浏览器内核
浏览器内核就是浏览器所采用的的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同
有关浏览器内核和浏览器总结:
| 内核 | 浏览器 |
|---|---|
| blink(webkit内核的升级) | Google Chrome、Safari、Opera、大部分的国产和手机浏览器 |
| Gecko | Firefox火狐浏览器 |
| Presto | 欧朋浏览器 |
| Trident | IE浏览器 |
2. JavaScript历史
- JavaScript诞生于1995年
- 设计的主要目的是处理以前由服务器端语言负责的一些输入验证操作
2.1 历史背景
● 1990年,蒂姆伯纳斯·李,是一个用超文本分享资讯的人,开发了一个浏览器,叫world wide web,后来移植到c,叫libwww(也叫nexus),是一个真正意义上的浏览器,可以允许别人浏览他人编写的网站
● 1993年,美国伊利诺大学的组织NCSA核心成员(马克·安德森),开发了一个MOSIAC浏览器,可以显示图片,是图形化浏览器
● 1994年,马克·安德森 和 吉姆·克拉克(SGI硅图公司的员工,做数据的)成立了一个公司,叫 MOSIAC communication corporation(马赛克交流公司),
● 因为MOSIAC的商标是伊利诺大学的,在安德森走了之后,把商标转给spy glass公司,所以公司改名为Netscape communication corporation,做的浏览器叫netspace navigator
● 1996年,微软的公司收购spy glass,开发了在MOSIAC的基础上开发了IE(Internet explorer)1.0,在同年发布IE3,JScript
● 网景公司的Brendan eich在Netscape navigator基础上开发出了livescript
● 由于java非常火,得到sun公司(java属于sun)的授权改名JavaScript。
● 由于JavaScript大受欢迎,网景公司在发布浏览器3版本的时候,顺便发布了JavaScript1.1版本。
● 在1997年,有一个“欧洲计算机制造商协会”,(简称 ECMA),拿了JavaScript1.1版本制定了规范并且发布,ECMA-262。也叫ECMAScript,作为各自使用的标准
● 2001年,IE6 和 XP的诞生,出现JS引擎
● 2003年,Mozilla公司根据Netscape navigator改的
● 2008年,Google基于webkit内核加gears-离线访问网页,开发出Chrome浏览器
● V8 JS渲染引擎,直接翻译机器码,独立于浏览器运行
● 2009年,甲骨文Oracle收购了sun公司,JS的所有权给甲骨文
2.2 ECMAScript版本
● 1998年,2.0版本ES2.0;
● 1999年,3.0版本(重点看,成为了JavaScript的通用标准,广泛支持);
● 2007年,ES4.0草案发布,最终只是抽取一部分内容发布为ES3.1;其实也是后来的ES5(因为4已经被命名并且被驳回了);
● 2009年,正式发布ES5;
● 2013年,ES6草案发布(内容就是当时ES4提出的);
● 2015年,ES6正式发布,并且命名为ES2015;
● 以后每年更新一个版本,以年号命名,以此类推;
3. 为什么学JavaScript
- 所有主流浏览器都支持JavaScript
- 目前,全世界大部分网页都使用JavaScript
- 他可以让网页呈现各种动态效果
- 作为一个Web开发工程师,如果你想提供漂亮的网页、令客户满意的上网体验,JavaScript是必不可少的工具
4. JS的构成
- ECMAScript:语言的核心
- DOM(文档对象模型):Document Object Model,提供了一系列的应用程序接口,供开发者对DOM的增删改查等(操作标签的)
- BOM(浏览器对象模型):Browser Object Model,操作浏览器窗口的,可以使用BOM对浏览器窗口进行访问和操作,比如移动窗口位置、返回历史记录等,但是BOM没有一个成型的规范,但所有的浏览器都支持
5. JavaScript命名规范
- 区分大小写
- 名字以数字,字母,下划线、$符号组成(但是不能以数字开头)
- 不能是关键字或者保留字
- 命名要有语义化,可以遵循:
- 小驼峰命名法(驼峰命名法):首单词的首字母小写,其余单词的首字母大写,例如:studentMessage
- 大驼峰命名法(又叫帕斯卡命名法):跟小驼峰命名法类似,只不过是每个单词的首字母都大写,例如:StudentMessage
- 下划线命名法:要求单词与单词之间通过下划线连接即可。例如:my_name
6. JavaScript引入的几种方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 当页面中所有的资源都加载完毕之后再加载
//第三种
window.onload=function(){
var box=document.getElementById("box");
console.log(box);
}
</script>
</head>
<body>
<div id="box">box</div>
//行内式:通过事件引入(有限制性)
<div onclick="alert(1111)">11111</div>
</body>
</html>
<script>
// 第一种
// var box=document.getElementById("box");
</script>
<!-- 第二种:单独引入js文件 -->
<script src="11.js"></script>