chenliqio / fe-interview

前端面试题型汇总
0 stars 0 forks source link

【JS】Day3--说说你对javascript的作用域的理解。⭐️⭐️⭐️ #7

Open chenliqio opened 2 years ago

chenliqio commented 2 years ago

一、作用域的概念

作用域就是变量的作用的范围。

二、作用域的类型

JS中有两种作用域:

  1. 全局作用域
    特点:
    • 直接编写在script标签中的JS代码,都在全局作用域;
    • 全局作用在页面打开时创建,在页面关闭时销毁;
    • 全局作用域中有一个全局对象window,代表的是浏览器的一个窗口,由浏览器直接创建;
    • 在全局作用域中,创建的变量都会作为全局对象的属性保存,创建的函数都会作为全局对象的方法保存。

  2. 函数作用域 特点:
    • 调用函数时产生函数作用域,函数执行完毕时销毁;
    • 每调用一次函数,就新创建一个函数作用域,相互独立;
    • 在函数作用域中可以访问到全局变量,在全局作用域中不能访问到函数作用域中的变量;
    • 在一个函数作用域中操作一个变量,会先在自身的函数作用域中寻找该变量的值,若没有,会向上一级的作用域中继续找,知道找到全局作用域;
    • 在函数中要使用全局变量可以使用window对象。