js注释
单行注释
- 使用
//
,仅注释当前行 -
// 这是一个单行注释 function greet() { console.log("Hello World!"); // 输出问候语 }
多行注释
- 使用
/* ... */
,可跨越多行 -
/* * 这是一个多行注释 * 功能:计算数组元素之和 * 参数: * arr {Array} - 需要计算的数组 * 返回值: * {number} - 数组所有元素的和 */ function sumArray(arr) { return arr.reduce((acc, curr) => acc + curr, 0); }
2.标识符
JavaScript 中,标识符(变量名、函数名、关键字等)是严格区分大小写的。这意味着 varName
和 VarName
或 VARNAME
被视为完全不同的标识符。
1、第一个字符必须是一个字母、下划线(_)或一个美元符号($)
2、其它字符可以是字母、下划线、美元符号或则数字。
3、不能把关键字、保留字、true、false和Null作为标识符。
统一命名风格:
- 驼峰命名法:用于变量名和函数名(
userName
,calculateTotal
)。 - 帕斯卡命名法:用于类名(
UserAccount
)。 - 下划线开头:用于私有变量或常量(
_privateVar
,MAX_LIMIT
)。
变量声明方式
JavaScript 提供了三种声明变量的关键字:var
、let
、const
。
关键字 | 作用域 | 是否可重新赋值 |
---|---|---|
var |
函数级作用域 | 是 |
let |
块级作用域 | 是 |
const |
块级作用域 | 否(常量) |
键字包括:
- var, let, const
- function, class
- if, else, switch, case, default
- for, while, do, break, continue
- return, throw, try, catch, finally
- typeof, void
- new, delete
- in, instanceof
- with, eval
- debugger
- const, let, class这些在ES6中新增的
- module、export、import在ES6模块系统中是关键字
示例代码
var a = 10; // 函数级作用域
if (true) {
let b = 20; // 块级作用域
const c = 30; // 块级作用域,不可修改
b = 30; // 允许重新赋值
// c = 40; // 报错:Assignment to constant variable.
}
console.log(a); // 10
console.log(b); // Uncaught ReferenceError: b is not defined(块外访问不到)
字面量
字面量(Literal)
字面量是直接在代码中书写的具体值,不可被修改,分为原始类型字面量和对象类型字面量。
1. 原始类型字面量
- 数值型(Number)
42; // 十进制 3.14; // 浮点数 10; // 整数(等同于 10.0) 0b1010; // 二进制(十进制 10) 0o12; // 八进制(十进制 10) 0xA; // 十六进制(十进制 10)
- 字符串型(String)
"Hello World"; // 双引号 'Single Quote'; // 单引号 `Backtick String`; // 模板字符串(支持多行和嵌入表达式)
- 布尔型(Boolean)
true; // 真 false; // 假
- 空值(Null)
null; // 表示“无值”或“不存在对象”
- 未定义(Undefined)
let x; console.log(x); // undefined(变量声明但未赋值)
- 符号(Symbol)
const sym = Symbol('description'); // 唯一且不可重复的标识符