JavaScript 中可以通过 var
、let
和 const
来声明变量,并且变量的值可以通过赋值操作来设置。具体说明如下:
var
声明变量使用 var
声明的变量具有函数作用域,变量可以在函数内的任意位置使用和重新赋值。
var myVar = 10; // 声明变量并赋值
myVar = 20; // 重新赋值
console.log(myVar); // 输出 20
let
声明变量let
声明的变量具有块级作用域(如在 if
或 for
块中),超出作用域后变量将不可访问。
let myLetVar = 30;
if (true) {
let myLetVar = 50; // 块级作用域,作用范围仅限于该块
console.log(myLetVar); // 输出 50
}
console.log(myLetVar); // 输出 30,外部作用域变量未被修改
const
声明常量通过 const
声明的变量是常量,不能被重新赋值。
const myConst = 100;
myConst = 200; // 错误:无法重新赋值
JavaScript 中的函数可以通过多种方式定义,例如通过 function
关键字、匿名函数或箭头函数来定义。函数是可重用的代码块,可以接受参数并返回结果。
function
定义函数这是最常见的定义函数的方式,通过 function
关键字来定义:
function add(a, b) {
return a + b; // 返回两数相加的结果
}
console.log(add(2, 3)); // 输出 5
匿名函数没有函数名,通常作为回调函数使用:
let myFunction = function(a, b) {
return a * b;
};
console.log(myFunction(4, 5)); // 输出 20
箭头函数是 ES6
引入的简写形式:
let sum = (a, b) => a + b;
console.log(sum(10, 15)); // 输出 25
变量的作用域决定了它可以在什么范围内被访问。局部变量仅在函数或块内有效,而全局变量在整个页面内有效。
局部变量是在函数或代码块内声明的变量,外部不可访问:
function localScope() {
let localVar = "I'm local";
console.log(localVar); // 输出 "I'm local"
}
localScope();
console.log(localVar); // 错误:localVar 未定义
全局变量是在函数外部声明的变量,整个页面中的脚本都可以访问:
var globalVar = "I'm global";
function showGlobalVar() {
console.log(globalVar); // 输出 "I'm global"
}
showGlobalVar();
console.log(globalVar); // 输出 "I'm global"
通过 var
声明的变量会成为全局对象(window
对象)的属性,let
和 const
不会。