JS语法基础
约 1159 字大约 4 分钟
2026-03-17
手写笔记


一、第一个 JS 程序
1.1 基本规则
- 页面中可以存在多个
<script>元素;如果一个<script>元素引用了外部.js文件,则内部不能再书写代码。 - JS 代码由多条语句构成,每个语句用英文分号
;结束(非强制要求,但推荐书写)。 - 所有的输出语句、输入语句都不是 ES 标准(属于浏览器标准,如
alert()/console.log()/prompt())。
1.2 数字进制表示
0o开头:表示八进制数字(如0o10代表十进制的 8)。0x开头:表示十六进制数字(如0xff代表十进制的 255)。0b开头:表示二进制数字(如0b101代表十进制的 5)。
二、数据和数据类型
2.1 原始类型(基本类型)
| 类型 | 说明 |
|---|---|
number | 数字类型,包含整数、浮点数、特殊值(Infinity/NaN) |
string | 字符串类型,用单引号 '' 或双引号 "" 包裹 |
boolean | 布尔类型,只有 true/false 两个值 |
undefined | 未定义类型,变量声明但未赋值时默认值 |
null | 空类型,表示“空值”,用于主动清空对象引用 |
⚠️ 区分某些长数字和字符串:如果按数字方式阅读,则使用
number类型;否则使用string类型(如手机号、身份证号)。
2.2 引用类型
| 类型 | 说明 |
|---|---|
object | 对象类型,用于存储键值对(属性 = 对对象的反映) |
function | 函数类型,可执行的代码块,本质也是对象 |
2.3 获取数据类型
- 使用
typeof运算符:typeof 123→'number'typeof 'abc'→'string'typeof undefined→'undefined'- ⚠️ 特殊情况:
typeof null→'object'(历史遗留 Bug)。
💡 直接书写在代码中的数据,叫做字面量(如
123、'abc'、{})。
三、变量
3.1 概念
- 变量是一块内存空间,用于保存数据;
- 计算机程序的运行,仅在内存中打交道。
3.2 变量声明
- 语法:
var 变量名;,声明后它的值为undefined。 - 凡是需要自行命名的位置,叫做标识符(变量名、函数名等)。
3.3 变量命名规则
- 必须:只能以英文字母、下划线
_、$开头; - 其他位置:可以出现英文字母、数字、下划线
_、$; - 禁止:不能是关键字、保留词;不能重复;
- 规范:
- 标识符应该做到见名知义;
- 如果有多个单词,使用驼峰命名法(第一个单词首字母小写,后续单词首字母大写,如
userName)。
3.4 变量提升(Hoisting)
- JS 中存在变量提升:所有变量的声明,会自动被提升到代码的最顶部;
- 注意:仅提升声明,不提升赋值,不会改变代码的执行顺序。
⚠️ 任何可以书写表达式的地方,都可以书写变量。
四、变量和对象
4.1 类型回顾
- 原始类型:
number、string、boolean、undefined、null; - 引用类型:
object、function。
4.2 对象属性操作
| 操作 | 语法示例 | 说明 |
|---|---|---|
| 读取 | 变量名.属性名 | - 读取不存在的属性 → 得到 undefined;- 读取 undefined/null 的属性 → 程序报错 |
| 更改 | 变量名.属性名 = 值 | 赋值的属性不存在时,会自动添加该属性 |
| 删除 | delete 变量名.属性名 | 删除对象的指定属性 |
4.3 属性表达式
- 读取或赋值时,可使用
对象变量['属性名']语法:- 例:
user['name']等价于user.name; - JS 对属性名命名要求不严格,属性名本质是字符串;
- 如果属性名是数字,会被直接转换为字符串。
- 例:
4.4 全局对象
- 开发者定义的所有变量,实际上会成为
window对象的属性; - 如果变量没有被赋值,则该变量不会覆盖
window对象上的同名属性。
五、引用类型核心区别
- 原始类型变量:存储的是具体的值(值传递);
- 引用类型变量:存储的是内存地址(引用传递);
- 凡是出现对象字面量
{}的位置,都一定在内存中创建了一个新的对象。
六、核心总结
- 代码规范:
<script>标签内外不能混用,语句建议加分号; - 类型体系:原始类型存值,引用类型存地址,
typeof null是特殊 Bug; - 变量机制:
var声明存在变量提升,命名遵循驼峰式; - 对象操作:属性读写/删除灵活,支持
.和[]两种访问方式; - 全局对象:浏览器环境下,全局变量自动挂载到
window。
