一、作用域(Scope)
1、基本定义
作用域是程序中变量和函数的可访问范围,它规定了在何处以及如何查找变量。JavaScript采用词法作用域(Lexical Scope),即作用域在代码编写阶段就已确定(而非运行时)。
2、作用域的类型
2-1 全局作用域(Global Scope)
- 最外层作用域
- 在浏览器中是window对象
- 在Node.js中是global对象
- 生命周期:页面关闭时销毁
var globalVar = "I'm global"; // 全局变量
function globalFunc() {
console.log("Global function");
}
// 浏览器环境中
console.log(window.globalVar); // "I'm global"
window.globalFunc(); // "Global function"
2-2 函数作用域(Function Scope)
- 函数内部的作用域
- 使用var声明的变量具有函数作用域
- 生命周期:函数执行完毕时销毁
function myFunction() {
var functionScoped = "I'm function scoped";
if (true) {
var stillAccessible = "Still accessible";
}
console.log(stillAccessible); // "Still accessible"
}
myFunction();
console.log(functionScoped); // ReferenceError: functionScoped is not defined
2-3 块级作用域(Block Scope)(ES6+)
- 由 {} 包围的代码块形成的作用域
- 使用let 和 const声明的变量具有块级作用域
- 生命周期:块执行完毕时销毁
{
let blockScoped = "I'm block scoped";
const alsoBlockScoped = "Me too!";
}
console.log(blockScoped); // ReferenceError
console.log(alsoBlockScoped); // ReferenceError
if (true) {
let conditionVar = "Inside if block";
console.log(conditionVar); // "Inside if block"
}
console.log(conditionVar); // ReferenceError
for (let i = 0; i &l
文章来源于互联网:作用域与作用域链深度解析
相关推荐: 认识 stable diffusion,从文生图开始
前言 想象一下,你只需动动手指,输入几行文字,就能创造出一幅绝美的画作。这不是魔法,而是 Stable Diffusion WebUI 带来的神奇体验!这款基于 Web 的用户界面,将高科技的图像生成技术变成了人人都能玩转的有趣工具。 以上为stabledif…
5bei.cn大模型教程网










