JavaScript 变量与函数

1. 变量的声明与赋值

JavaScript 中可以通过 varletconst 来声明变量,并且变量的值可以通过赋值操作来设置。具体说明如下:

1.1 var 声明变量

使用 var 声明的变量具有函数作用域,变量可以在函数内的任意位置使用和重新赋值。


var myVar = 10;  // 声明变量并赋值
myVar = 20;  // 重新赋值
console.log(myVar);  // 输出 20
    

1.2 let 声明变量

let 声明的变量具有块级作用域(如在 iffor 块中),超出作用域后变量将不可访问。


let myLetVar = 30;
if (true) {
    let myLetVar = 50;  // 块级作用域,作用范围仅限于该块
    console.log(myLetVar);  // 输出 50
}
console.log(myLetVar);  // 输出 30,外部作用域变量未被修改
    

1.3 const 声明常量

通过 const 声明的变量是常量,不能被重新赋值。


const myConst = 100;
myConst = 200;  // 错误:无法重新赋值
    

2. 函数的定义与调用

JavaScript 中的函数可以通过多种方式定义,例如通过 function 关键字、匿名函数或箭头函数来定义。函数是可重用的代码块,可以接受参数并返回结果。

2.1 使用 function 定义函数

这是最常见的定义函数的方式,通过 function 关键字来定义:


function add(a, b) {
    return a + b;  // 返回两数相加的结果
}

console.log(add(2, 3));  // 输出 5
    

2.2 使用匿名函数

匿名函数没有函数名,通常作为回调函数使用:


let myFunction = function(a, b) {
    return a * b;
};

console.log(myFunction(4, 5));  // 输出 20
    

2.3 使用箭头函数

箭头函数是 ES6 引入的简写形式:


let sum = (a, b) => a + b;

console.log(sum(10, 15));  // 输出 25
    

3. 局部变量和全局变量

变量的作用域决定了它可以在什么范围内被访问。局部变量仅在函数或块内有效,而全局变量在整个页面内有效。

3.1 局部变量

局部变量是在函数或代码块内声明的变量,外部不可访问:


function localScope() {
    let localVar = "I'm local";
    console.log(localVar);  // 输出 "I'm local"
}

localScope();
console.log(localVar);  // 错误:localVar 未定义
    

3.2 全局变量

全局变量是在函数外部声明的变量,整个页面中的脚本都可以访问:


var globalVar = "I'm global";

function showGlobalVar() {
    console.log(globalVar);  // 输出 "I'm global"
}

showGlobalVar();
console.log(globalVar);  // 输出 "I'm global"
    

通过 var 声明的变量会成为全局对象(window 对象)的属性,letconst 不会。