JS基础学习
本文为学习 JavaScript 基础知识的笔记,仅入门
作用
- JavaScript 能够改变 HTML 内容
- JavaScript 能够改变 HTML 属性
- JavaScript 能够隐藏 HTML 元素
- JavaScript 能够显示 HTML 元素
使用
<script></script>
使用在<body>或<head>中
输出
JavaScript 显示方案
JavaScript 能够以不同方式“显示”数据:
- 使用
window.alert()写入警告框 - 使用
document.write()写入 HTML 输出 - 使用
innerHTML写入 HTML 元素 - 使用
console.log()写入浏览器控制台
语句
在 HTML 中,JavaScript 语句是由 web 浏览器“执行”的“指令”
语法
JavaScript 值
JavaScript 语句定义两种类型的值:混合值和变量值。
混合值被称为字面量(literal)。变量值被称为变量。
JavaScript 字面量
书写混合值最重要的规则是:
写数值有无小数点均可:
1 | 15.90 |
字符串是文本,由双引号或单引号包围
1 | "Bill Gates"'Bill Gates' |
JavaScript 关键词
JavaScript 关键词用于标识被执行的动作。
var 关键词告知浏览器创建新的变量:
1 | var x = 7 + 8; |
JavaScript 标识符
所有 JavaScript 变量必须以唯一的名称的标识。
这些唯一的名称称为标识符。
标识符可以是短名称(比如 x 和 y),或者更具描述性的名称(age、sum、totalVolume)。
构造变量名称(唯一标识符)的通用规则是:
- 名称可包含字母、数字、下划线和美元符号
- 名称必须以字母开头
- 名称也可以
$和_开头(但是在本教程中我们不会这么做) - 名称对大小写敏感(y 和 Y 是不同的变量)
- 保留字(比如 JavaScript 的关键词)无法用作变量名称
**提示:**JavaScript 标识符对大小写敏感。
JavaScript 对大小写敏感
所有 JavaScript 标识符对大小写敏感。
变量 lastName 和 lastname,是两个不同的变量。
1 | lastName = "Gates";lastname = "Jobs"; |
JavaScript 字符集
JavaScript 使用 Unicode 字符集。
Unicode 覆盖世界上几乎所有的字符、标点和符号。
如需了解详情,请访问我们完整的 Unicode 参考手册。
变量
声明(创建) JavaScript 变量
在 JavaScript 中创建变量被称为“声明”变量。
您可以通过 var 关键词来声明 JavaScript 变量:
1 | var carName; |
声明之后,变量是没有值的。(技术上,它的值是 undefined。)
JavaScript Let
ECMAScript 2015
ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const。
这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。
在 ES2015 之前,JavaScript 只有两种类型的作用域:全局作用域和函数作用域。
作用域
- 全局作用域
- 函数作用域
- 块作用域
JavaScript 块作用域
通过 var 关键词声明的变量没有块作用域。
在块 {} 内声明的变量可以从块之外进行访问。
实例
1 | { var x = 10;}// 此处可以使用 x |
在 ES2015 之前,JavaScript 是没有块作用域的。
可以使用 let 关键词声明拥有块作用域的变量。
在块 {} 内声明的变量无法从块外访问:
实例
1 | { |
使用 let 关键字重新声明变量可以解决重新声明变量导致的覆盖。
在块中重新声明变量不会重新声明块外的变量:
循环作用域
在循环中使用 var:
实例
1 | var i = 7;for (var i = 0; i < 10; i++) { // 一些语句}// 此处,i 为 10 |
在循环中使用 let:
实例
1 | let i = 7;for (let i = 0; i < 10; i++) { // 一些语句}// 此处 i 为 7 |
在第一个例子中,在循环中使用的变量使用 var 重新声明了循环之外的变量。
在第二个例子中,在循环中使用的变量使用 let 并没有重新声明循环外的变量。
如果在循环中用 let 声明了变量 i,那么只有在循环内,变量 i 才是可见的。
JavaScript const
通过 const 定义的变量与 let 变量类似,但不能重新赋值:
不是真正的常数
关键字
const有一定的误导性。它没有定义常量值。它定义了对值的常量引用。
因此,我们不能更改常量原始值,但我们可以更改常量对象的属性。