作用域是定义变量的一块区域,它规定了变量的访问规则,也就是当前执行的代码能够访问哪些变量。 JS 采用的词法作用域,也就是静态作用域,是指变量的访问规则在词法分析阶段就已经决定了,也就是说,我们写代码、定义函数的时候它们的作用域就已经确定了,函数的作用域取决于它定义的位置,而与它调用的位置无关。 **动态作用域** 与之相对的是动态作用域,是指函数的作用域要在函数调用时才能确定。
作用域是定义变量的一块区域,它规定了变量的访问规则,也就是当前执行的代码能够访问哪些变量。
JS 采用的词法作用域,也就是静态作用域,是指变量的访问规则在词法分析阶段就已经决定了,也就是说,我们写代码、定义函数的时候它们的作用域就已经确定了,函数的作用域取决于它定义的位置,而与它调用的位置无关。
动态作用域
与之相对的是动态作用域,是指函数的作用域要在函数调用时才能确定。