JavaScript作用域与作用域链详解.pdfVIP

  • 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(){

文档评论(0)

1亿VIP精品文档

相关文档