在javascript中,局部变量是在函数体内声明的变量或者是函数的命名参数;局部变量具有局部范围,这意味着局部变量只能在定义它的函数内使用。由于局部变量是在函数内定义的,因此具有相同名称的变量可用于不同的函数。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
局部变量是在函数体内声明的变量或者是函数的命名参数。它们具有局部范围,这意味着它们只能在定义它们的函数中使用。由于局部变量是在函数内定义的,因此具有相同名称的变量可用于不同的函数。
由于 var 支持变量提升,所以 var 变量的全局作用域是对整个页面的脚本代码有效;而 let 和 const 不支持变量提升,所以 let 和 const 变量的全局作用域指的是从声明语句开始到整个页面的脚本代码结束之间的整个区域,而声明语句之前的区域是没有效的。
同样,因为 var 支持变量提升,而 let 和 const 不支持变量提升,所以使用 var 声明的局部变量在整个函数中有效,而使用 let 和 const 声明的局部变量从声明语句开始到函数结束之间的区域有效。需要注意的是,如果局部变量和全局变量同名,则在函数作用域中,局部变量会履盖全局变量,即在函数体中起作用的是局部变量;在函数体外,全局变量起作用,局部变量无效,此时引用局部变量将出现语法错误。
示例:
html>
<meta>
<center>
<p>在myfunction()之外没有定义petName。</p>
<p></p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill12835" title="JavaScript 测试模式"><img
src="https://img.php.cn/upload/skill/001/246/273/6adaf20cf0281539.jpg" alt="JavaScript 测试模式" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill12835" title="JavaScript 测试模式" class="overflowclass">JavaScript 测试模式</a>
<p class="overflowclass">使用 Jest、Vitest 和 Testing Library 实施全面的测试策略,包括单元测试、集成测试和端到端测试,涵盖模拟、测试夹具和测试驱动开发。在编</p>
</div>
<a rel="nofollow" href="/xiazai/skill12835" title="JavaScript 测试模式" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>
<p></p>
<script>
myfunction();
function myfunction() {
var petName = "Sizzer"; // local variabl
document.getElementById("demo1").innerHTML = "myfunction()函数内:"+
typeof petName + " " + petName;
}
document.getElementById("demo2").innerHTML = "myfunction()函数外:"+
typeof petName;
</script>
</center>
输出:

上面的例子说明了局部变量的使用。但是,函数外部的语句不能引用名为petName的变量而不会导致错误。这是因为它具有局部范围。
【相关推荐:javascript学习教程】
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










