什么是拷贝
在 JavaScript 中,当我们需要复制一个变量时,根据复制的深度不同,可以分为浅拷贝和深拷贝。理解这两种拷贝方式的区别对于避免程序中的意外行为至关重要。
数据类型回顾
基本数据类型(值类型)
numberstringbooleannullundefinedsymbolbigint
2024/8/22大约 6 分钟
在 JavaScript 中,当我们需要复制一个变量时,根据复制的深度不同,可以分为浅拷贝和深拷贝。理解这两种拷贝方式的区别对于避免程序中的意外行为至关重要。
numberstringbooleannullundefinedsymbolbigint闭包(Closure)是 JavaScript 中一个重要且强大的概念。简单来说,闭包是指一个函数能够访问其外部作用域中变量的能力,即使在其外部函数已经执行完毕之后。
闭包是由函数以及声明该函数的词法环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。
// 全局作用域
var globalVar = 'I am global';
function outerFunction() {
// 函数作用域
var outerVar = 'I am outer';
function innerFunction() {
// 函数作用域(内层)
var innerVar = 'I am inner';
// 可以访问所有外层作用域的变量
console.log(globalVar); // 'I am global'
console.log(outerVar); // 'I am outer'
console.log(innerVar); // 'I am inner'
}
return innerFunction;
}