这篇文章主要介绍“JavaScript作用域实例代码分析”,在日常操作中,相信很多人在JavaScript作用域实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript作用域实例代码分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一个变量声明在JavaScript函数内部,成为函数的局部变量。
局部变量有局部作用域: 它们只能在函数中访问。
//code here can not use carName <script> reFunction(); document.getElementById("demo").innerHTML = "carName的类型是 " + typeof carName; function reFunction() { var carName = "Volvo"; } </script>
由于局部变量只在它们的函数中被识别,所以具有相同名称的变量可以在不同的函数中使用。
当函数启动时创建局部变量,当函数完成时删除。
函数外声明的变量, 成为全局变量。
全局变量具有全局作用域: 网页上的所有脚本和函数都可以访问它。
<script> var carName = "Volvo"; //可以从任何脚本或函数访问全局变量 myFunction(); function myFunction() { document.getElementById("demo").innerHTML = "I can display " + carName; } </script>
自动全局
如果给未声明的变量赋值, 它会自动成为全局变量。
此代码示例将声明一个全局变量carName,即使赋的值是函数内部。
myFunction(); // code here can use carName function myFunction() { carName = "Volvo"; }
不要创建全局变量,除非你非常需要,在严格模式下 "Strict Mode"自动全局变量将失败。
在JavaScript中,全局作用域是完整的JavaScript环境。
在HTML中,全局作用域是window对象。所有的全局变量都属于window对象。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>项目</title> </head> <body style="background-color: aqua;"> <p> 在HTML中,所有的全局变量将成为窗口window变量。 </p> <p id="demo"></p> <script> var carName = "Volvo"; // code here can use window.carName document.getElementById("demo").innerHTML = "I can display " + window.carName; </script> </body> </html>
全局变量(或函数)可以覆盖窗口变量(或函数). 任何函数,包括窗口对象,都可以覆盖全局变量和函数.
表中是var,let和const之间的区别。
用var关键字声明的变量不能具有块作用域,{}可以从块外部访问在块内部声明的变量:
{ var num = 50; } // num 能在这里使用
用let关键字声明的变量可以具有“块作用域”。
{}不能从块外部访问在块内部声明的变量:
{ let num = 50; } // num不能在这里使用
声明变量with const与let]涉及块作用域类似。
{ const num = 50; } // num不能在这里使用
常量的值不能通过重新分配而更改,也不能重新声明。
到此,关于“JavaScript作用域实例代码分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。