js作用域详解

本文详细介绍了JavaScript的作用域,包括作用域的概念、分类(全局作用域与局部作用域)、作用域的上下级关系,以及作用域的三大规则:变量定义、使用和赋值规则。深入理解这些规则对于编写高效且无误的JavaScript代码至关重要。
摘要由CSDN通过智能技术生成

作用域详解

一. 了解作用域

二. 作用域分类

三. 作用域的上下级关系

四. 作用域的三大规则

一. 了解作用域

      在介绍作用域的定义之前,先解释一下”作用”和”域”的含义
      作用:指生效,可以使用
      域:范围

总结来说,就是一个变量可以生效的范围。变量不是在所有地方都可以使用的,而这个变量的使用范围就是作用域

二. 作用域分类

1.全局作用域

一个 html 页面就是一个全局作用域,打开页面的时候, 作用域就生成了, 直到关闭页面为止

2.局部作用域(私有作用域)

   **只有函数生成私有作用域**
   每一个函数就是一个私有作用域

三. 作用域的上下级关系

全局作用域最大, 所有的私有作用域都是再全局作用域下面的,函数生成的私有作用域, 函数写在那个作用域里面,就是哪个作用域的子级。
在这里插入图片描述
四.作用域的三大规则

1.变量定义规则

在了解变量定义规则之前,先来说一下变量定义。变量定义需要有 var 关键或者 function 函数名() {}

在这里插入图片描述
变量定义规则:
当你在定义一个变量的时候,你把这个变量定义在哪个作用域里面,就只有这个作用域及其后代作用域可以使用,当前作用域的所有祖先级作用域不能使用。

在这里插入图片描述
2.变量使用规则
在了解变量使用规则之前,先来说一下变量的使用。使用就是就是当你需要拿到一个变量的值去使用的时候。比如:
在这里插入图片描述
变量使用规则:
当你需要使用一个变量的时候
首先, 在自己作用域内部查找, 如果有, 就直接使用, 停止查找
如果没有, 就去上一级作用域查找, 有就使用, 停止查找
如果还没有, 就再去上一级作用域查找, 有就使用, 停止查找
直到全局作用域都没有, 那么就报错 "变量 is not defined"

在这里插入图片描述
3.变量赋值规则
在了解变量赋值规则之前,先来说一下变量赋值。变量赋值就是给一个变量进行赋值的操作。比如:
在这里插入图片描述
变量赋值规则:
当你需要给一个变量赋值的时候
先在自己作用域内部查找, 如果有, 就给自己作用域内部的变量赋值
如果没有, 就向上一级查找, 如果有就给父级的变量赋值
如果还没有, 就继续向上查找
直到全局作用域都没有, 那么就把这个变量定义为全局变量, 再进行赋值

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值