2024-07-03 12:43PM
JavaScript中 Shadowing是指在内部作用域中定义与外部作用域中同名的变量,这会导致内部变量“遮蔽”或“覆盖”外部变量
1.如何使用 shadowing
1)函数作用域:
在函数内部定义与外部同名的变量会发生shadowing效果,外部变量在函数内部不可访问。
let x = 'global';
function myFunction() {
let x = 'local';
console.log(x); // 输出 'local'
}
myFunction();
console.log(x); // 输出 'global'
2)块级作用域:
使用let或const在块级作用域内定义的变量会遮蔽外部作用域中的同名的变量
let x = 'global';
if (true) {
let x = 'local';
console.log(x); // 输出 'local'
}
console.log(x); // 输出 'global'
3)参数作用域:
函数参数也会遮蔽外部同名变量
let x = 'global';
function myFunction(x) {
console.log(x); // 输出 'local'
}
myFunction('local');
console.log(x); // 输出 'global'
Shadowing 的使用场景
1)变量重用:
在内部作用域中重新定义同名变量可以方便地操作局部变量,而不会影响外部变量。
2)错误处理:
在捕获异常时,可以在 catch
块中定义与外部同名的变量来处理异常信息,而不会影响外部变量。
3)循环:
在循环体内部定义与外部同名的变量可以方便地操作循环变量,而不会影响外部变量。
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论