简介
JavaScript
用于实现页面的交互效果。JavaScript
的语言大量借鉴了java
的语法,但是二者并没有关系。主要作用:
- 判断客户端输入(减少服务器压力)
- 页面特效(PC端的网页效果)
- 移动端(移动web和app)
- 异步和服务器交互
- 服务端开发(nodejs)
JavaScript
是世界用的最多的脚本语言(解释型语言,解释一行执行一行),同时也是一种客户端脚本语言,运行在浏览器上。
JavaScript的组成
由ECMAScript
、DOM
、BOM
三部分组成:
-
ECMAScript
定义JavaScript语言规范。
-
DOM
Document Object Mode 文本对象模式,JavaScript操作网页元素的API。
-
BOM
Browser Object Mode 浏览器对象模式,JavaScript操作浏览器部分的API。
浏览器的工作原理
- User Interface 用户见面,我所见到页面效果;
- Browser engine 浏览器引擎,用来查询和操作渲染引擎;
- Rendering engine 渲染引擎,负责解析HTML、CSS;
- Networking 网络,负责发送请求;
- JavaScript Interperter JavaScript解释器,负责执行JavaScript代码;
- UI Backend UI后端,用来绘制类似接口组合框和弹出框;
- Data PERSISTENCE 数据持久化,数据存储。
语法
script标签
属性
属性值 | 描述 |
---|---|
type | 版本类型 |
src | 引入外部样式 |
async | 异步(多个人同时在做多件事) |
sync | 同步(一个人有序的做多件事) |
defer | 异步 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>异步和同步区别</title>
<script src="main.js" async="async"></script>
<!--<script>-->
<!--alert("哈哈哈");-->
<!--</script>-->
</head>
<body>
<div>看看我会不会显示</div>
</body>
</html>
因为JavaScript
是解释型脚本语言,从上到下,从左到右顺序执行。默认为同步执行,首先解释script
中的代码,解释完成后才会往下执行div
中的内容,也就是先弹出窗口哈哈哈
,点击确定后,浏览器页面显示看看我会不会显示
。要让它们同时显示,需要通过async
属性设置为异步,多个人同时在做很多事。
defer与async都为异步,区别async加载.js文件完成后,就马上执行;而defer需整个HTML页面加载执行完成之后,才会执行script。
内部样式
HTML页面书写JavaScript。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript"></script>
</head>
<body>
</body>
</html>
引入样式
通过<script>
的src属性,引入外部的js
文件。(推荐使用)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="01.js"></script>
</head>
<body>
</body>
</html>
注释
// 单行注释
/*多行注释*/
规范
标识符
标识符是指变量、函数或者属性的参数名,标识符按照下面格式进行命名:
- 第一个字母必须是一个字母、下划线(_)或者是一个$;
- 其他字符可以使字母、下划线、$或数字。
语句
- 每一个语句之后加
;
(推荐) - 一行一个语句
//每一行之后加;
alert(123);
alert("error");
//换行,可以不加;
alert(3)
alert(4)
//错误 同一行显示,不加;
alert(1) alert(2)
如果不加分号,也不换行,同一行写语句,浏览器解释器会报错。
区分大小写
JavaScript
是严格区分大小写的。
驼峰标识
变量名使用驼峰标识,首字母小写,第二个单词的第一个字母大写。
变量
变量是在计算机中存储数据的一个标识符。var
定义变量,js
所有的变量都是使用var
来定义。变量类型通过数据类型来反馈。
var message; //局部变量
function test() {
var a; //局部变量,在text()函数中有效
b;//全局变量
}
alert(a)