简单脚本
1. 在 Web 页面添加 JavaScript
2.1 包含在 HTML 文件里
2.2 保存单独文件并包含到页面
利用 <script> 元素的的 src (源)属性指定文件名。
<!-- JavaScript 文件与调用脚本在同一个文件夹 -->
<script src='mycode.js'></script>
<!-- 不再同一个文件夹 -->
<script src='/path/to/mycode.js'></script>
<script src='http://www.example.com/path/to/mycode.js'></script>
JavaScript 代码保存到单独文件的好处:
- JS 代码有更新时,更新立即作用于使用该文件的页面,对于 JavaScript 库尤为重要。
- HTML 页面代码保持简洁,提高易读性和可维护性。
- 提高性能。浏览器把包含文件进行缓存,当前页面或其他页面再次需要使用该文件时可以使用本地副本。
JavaScript 代码文件的后缀是 .js,外部文件中是纯粹的 JavaScript 代码,不包含 <script> 等 HTML 标签。文件可以放置到 HTML 页面的 <head> 或 <body> 区域,但一般情况放到 <head> 区域,让文档的其他部分能够调用其中的函数。
- 如果利用
<script>元素的src属性包含了外部 JavaScript 文件,就不能在<script>和</script>之间包含 JavaScript 语句了,该区域必须为空。
2. JavaScript 语句
书写规范:
代码注释:
- JavaScript 也可以使用 HTML 注释语法实现单行注释,但一般不使用。
3. 变量
-
变量名要求与规范
- 小驼峰命名法 -- 首字母小写,后续单词首字母大写,
let userAge = 10;。 - 常量使用大写+下划线
const MAX_RETRY_COUNT = 5; - 标识符
- 区分大小写
- 只使用 字母、数字(不能开头)、美元符号 和 下划线
- 禁用关键字和保留字
- 小驼峰命名法 -- 首字母小写,后续单词首字母大写,
| 特性 | var | let | const |
|---|---|---|---|
| 引入版本 | 早期原生版本 (ES5 及以前) | ES6 (2015) | ES6 (2015) |
| 作用域 | 函数作用域:在大括号 {} 外依然可见 |
块级作用域:仅在 {} 大括号内有效 |
块级作用域:仅在 {} 大括号内有效 |
| 变量提升 | 允许:提升至作用域顶部,值为 undefined |
不允许:在声明前使用会触发错误 | 不允许:在声明前使用会触发错误 |
| 重复声明 | 允许:可以在同一作用域重复定义 | 禁止:同一作用域内不可重名 | 禁止:同一作用域内不可重名 |
| 重新赋值 | 允许 | 允许 | 禁止:声明后值不可更改(只读) |
| 初始值 | 不需要初始值 | 不需要初始值 | 必须在声明时初始化赋值 |
| 建议程度 | 不推荐 | 推荐:用于存储会改变的变量 | 首选:用于存储常量或不需改变的引用 |
4. 操作符
4.1 算术操作符
- 可使用标准加(
+)减(-)乘(*)除(/)模(%)。 - 自增(
+++=)自减(---=)与C语言一致
4.2 操作符优先级
与 C 基本一致,多用括号。
4.3 字符串操作符 +
- 用于两个或多个字符串的连接。
- 连接一个字符串变量和一个数值变量时,JavaScript 把数值转换为字符串,再连接两个字符串。
5. 捕获鼠标事件
JavaScript 使用事件处理器(event handler)来处理时间。以下介绍其中3个: onClick onMouseOver onMouseOut
5.1 onClick 事件处理器
onClick 事件处理器几乎可以用于页面上任何可见的 HTML 元素。实现它的方式之一时给 HTML 元素添加一个属性:onclick="...一些JavaScript语句..."
- 这种方式可行但不好,后续会有更强大、更灵活的方式。
- 称事件处理器为 onClick,而在 HTML 元素中添加它时却使用小写 onclick,是因为 HTML 不区分大小写,而 XHTML (基于 XML 的更严格的 HTML 版本)是区分大小写的,为保证代码兼容性,要求全部 HTML 元素及属性名使用小写字母。
5.2 onMouseOver 和 onMouseOut 事件处理器
用于检测鼠标指针与特定页面元素的位置关系。鼠标进入页面上某个元素所占据的区域时出发 onMouseOver 事件,离开这一区域时出发 onMouseOut 事件。
<body>
<img src="1.jpg" alt="img1" onmouseover="this.src='0.jpg';" onmouseout="this.src='1.jpg';" />
</body>
- 当事件处理器是通过 HTML 元素的属性添加到页面时, this 是指 HTML 元素本身。
6. 函数
function funcName(a, b){
alert(a*b);
// ...其他语句...
return a*a+b*b;
}
// 调用函数,用变量存储返回值
let ans = funcName(1, 3);
alert(funcName(2, 2));
- “方法”实际上就是属于特定类的函数。