- 0
- 0
- 约6.95千字
- 约 7页
- 2026-01-23 发布于北京
- 举报
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript
作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的
介绍,希望能帮助大家更好的学习JavaScript。
JavaScript作用域
任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可范
围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域
有全局作用域和局部作用域两种。
1.全局作用域(GlobalScope)
在代码中任何地方都能到的对象拥有全局作用域,一般来说以下几种情形拥有全
局作用域:
(1)最外层函数和在最外层函数外面定义的变量拥有全局作用域,例如:
1varauthorName=山边小溪;
2functiondoSomething(){
3varblogName=梦想天空;
4functioninnerSay(){
5alert(blogName);
6}
7innerSay();
8}
9alert(authorName);//山边小溪
10alert(blogName);//错误
11doSomething();//梦想天空
12innerSay()//错误
(2)所有末定义直接赋值的变量自动为拥有全局作用域,例如:
1functiondoSomething(){
2varauthorName=山边小溪;
3blogName=梦想天空;
4alert(authorName);
5}
6doSomething();//山边小溪
7alert(blogName);//梦想天空
8alert(authorName);//错误
变量blogName拥有全局作用域,而authorName在函数外部无法到。
(3)所有window对象的属性拥有全局作用域
一般情况下,window对象的内置属拥有全局作用域,例如window.name、
window.location、window.top等等。
1.局部作用域(LocalScope)
和全局作用域相反,局部作用域一般只在固定的代码片段内可到,最常见的例如
函数,所有在一些地方也会看到有人把这种作用域称为函数作用域,例如下列代码中
的blogName和函数innerSay都只拥有局部作用域。
1functiondoSomething(){
2varblogName=梦想天空;
3functioninnerSay(){
您可能关注的文档
最近下载
- EDI调试大纲.doc VIP
- 管理学(马工程)各章重点要点知识整理(1).pdf
- SONY,索尼SONY HVR-HD1000C数字高清摄录一体机 说明书.pdf
- 纯化水EDI单体操作规程.doc VIP
- 八年级美术基础知识测试题(卷).doc VIP
- 学堂在线 雨课堂 学堂云 英文科技论文写作与学术报告 期末考试答案.docx VIP
- 2025国开本科《公共部门人力资源管理》期末历年真题(含答案).docx VIP
- 湖南省娄底市娄星区2023-2024学年九年级上学期期末数学试题(含答案解析).docx
- NB-T11189-2023水电工程鱼类增殖放流效果评估技术规程.pdf VIP
- 2024-2025学年江苏省徐州市丰县苏教版四年级上册期末考试数学试卷.docx
原创力文档

文档评论(0)