JS作用域

我们都知道,JS中的作用域是在函数中维护的

也一直知道,JS没有块级作用域

前几天面试的时候,面试官说,请介绍一下JS有哪几种作用域。

我答,JS没有块级作用域,有函数作用域,,,然后,,,一个全局作用域,,,,好像,,也没有别的了吧

oh shit,你不能说我回答错了,可是我真的是迟疑了,这一点肯定给人印象很不好

如果他问的是,请描述一下JS作用域。那么我可能不会迟疑。

但是他问我JS作用域有几种,这让平时不爱啃书本的我对自己产生了怀疑。有哪几种?难道除了全局作用域和函数作用域还有别的吗?菜鸡的我当时真的很犹疑。

可是后来我就确信了,JS作用域本来就只有两种啊,本宝宝没错!!

由此我得出了一个人生感悟:面试的时候,就算是不确定的答案,也要不卑不亢地说出来,而不是一副做错事的样子犹疑不决。就算是回答“不知道”也要把这三个字笃定地说出口。毕竟个人素质也很重要,我们是去show自己的,而不是去表演自己有多谦虚的!

显然我需要归纳一下JS作用域的问题,囊中有物才是最大的底气!

1、什么是作用域?

它是指变量或者方法具有访问权限的代码空间,也即 上下文执行环境

2、JS作用域有两种

全局作用域和函数作用域

3、注意事项

  1、所有全局作用域的对象(包括普通对象和函数对象)都是window对象的属性

  2、没有用var声明的变量相当于全局变量

其实这篇也没什么特别的内容

我只是写来提醒自己的

原文地址:https://www.cnblogs.com/dll-ft/p/5815093.html