欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链

程序员文章站 2022-04-19 14:09:29
**javascript从入门到跑路-----小文的js学习笔记(1)---------script、alert、document。write() 和 console.log 标签javascript从入门到跑路-----小文的js学习笔记(2)---------语法构成、关键字和保留字、变量javascript从入门到跑路-----小文的js学习笔记(3)---------javascript中的几种数据类型……javascript从入门到跑路-----小文的js学习笔记目录**&nb...

**
javascript从入门到跑路-----小文的js学习笔记(1)---------script、alert、document。write() 和 console.log 标签

javascript从入门到跑路-----小文的js学习笔记(2)--------- 语法构成、关键字和保留字、变量

javascript从入门到跑路-----小文的js学习笔记(3)---------javascript中的几种数据类型


javascript从入门到跑路-----小文的js学习笔记目录
**

       关注小文我们一起学习进步。

一、作用域

       含义 : 作用域是你有权访问的变量的一个区域,它决定了这些变量的可访问性。

ps : 当然你也可以简单的理解为就是我们的变量(我们写的代码)能够使用的一个区域,就是作用域。

      在 JavaScript 中有两种作用域类型,分别是 :(1) 局部作用域 、(2) 全局作用域

能够在全局使用的 是全局变量;那当然局部变量便只能在局部使用。

1、全局变量

      含义: 在函数之外声明的变量,会成为全局变量。全局变量的作用域是全局的:网页的所有脚本和函数都能够对它进行访问。

而且在全局范围内,声明的变量和函数,其实都可以理解为是 window 对象的属性或者方法

举例:
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
执行效果:二者是一样的。你可以把全局的变量理解为是window对象的属性
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
当然函数就类似于window的方法。

举个栗子:
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
既然类似于方法,那用使用方法的形式也是可以运行函数的

执行效果:
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链

         注意:光理论是不够的 ,在此送大家2020最新企业级 Vue3.0/Js/ES6/TS/React/node等实战视频教程,点击此处免费获取,小白勿进哦

2、局部变量

        含义 : 我们在函数中声明的变量,就会成为函数的局部变量。局部变量的作用域是局部的,它只能在函数的内部才可以访问,在外部是无法访问的。

举个例子:
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
在函数内部是可以调用的,但是由于是局部变量,所以在外面我们调用变量a的话是无法调用的。

二、作用域链

      含义: 在我们的javascript中,所有的变量都存在于一个作用域中,而这些作用域可能相互包含,那么就相当于是该变量既在这个作用域,又在那个作用域,这些关系就可以看作是一条链。

注意:在作用域链中,是由内向外单向访问,即内部有权访问外部的局部变量或者函数而外部不能访问内部的局部变量或者函数。

那我们举个栗子:我们先创建一个函数,申明一个变量 a,然后在函数内部再申明一个函数 bn();然后在函数bn()内申明一个变量 b 。

      然后在最里面的函数调用外面的变量a,外面的函数调用里面的变量b
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
执行结果: 你可以发现内部的调用外部的变量是成功了的,而外部调用内部的变量却是 undefined是不成功的
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链

这里补充一个函数参数只在函数内起作用,是局部变量。

**
荐
                                                        javascript从入门到跑路-----小文的js学习笔记(18 —1)------作用域以及作用域链

本文地址:https://blog.csdn.net/qq_45948983/article/details/107301834