彻底弄懂JavaScript作用域问题
这几次都是些的基础文章,可能好多人会说基础不太重要,做前端这么久,也没用到多少基础 (首先恭喜你,已经进提前进入了被优化名单)。
下面我们来详细解答一下基础是什么。
let 知识, 基础
if (知识 === '🏡') {
基础 = '地基'
}
if (知识 === '🌲') {
基础 = '树根'
}
if (知识 === '天空') {
基础 = '阶梯'
console.log('基础 makes you up, up, up…… 直到你碰头')
}
………………
怎么样?认识到基础的重要性了吧,如果没有了基础,代码就好像无根之木,空中楼阁,虽然赏心悦目,但是总是短暂的。
直到你真正领悟了底层
是怎么运作的,你才能够真正做到 他强任他强,清风拂山岗;他横自他横,明月照大江。
扯远了,收~
回到我们的正题。今天带大家了解以下 JavaScript
中的作用域问题。请拭拭拭拭拭拭目以待。(自己 get 重点)。
先从最基础的开始讲起。
1.什么是作用域
作用域是什么这个问题,好多人都回答不好。请注意:通常来说,作用域就是限制一个变量在程序中的使用范围。
搜嘎,突然有一种 “同行十二年,不知木兰是女郎” 的赶脚。
1.1 全局和局部
了解了作用域的名字来由之后。我们来认识一下它。
在 JavaScript
中作用域的边界是以函数划分。有 全局 和 局部 作用域之分。
- 全局作用域:声明在
<script></script>
标签内的变量或者不使用var声明的变量在整个程序中都是可用的,所以叫全局作用域。 - 局部作用域:声明在函数体内的变量,在整个函数执行环境和其子函数内都是可用的,但是在函数外访问不到,所以叫局部作用域
小栗子🌰同学上场:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title