js之函数作用域

一、在函数中声明的变量是外部是不能访问的 。
二、全局变量是可以在函数中访问 。
三、当函数调用的时候 , 是调用的时候哈,每调用一次函数,就会生成一个新的函数作用域,相互独立且不影响 。
四、函数作用域链:函数先在自身找变量,找不到时,就会找函数的父函数,父函数中没有就找爷爷函数,以此类推,直到找到全局作用域 。如果都没有只能报错了 。
五、在函数中也存在变量声明提升和函数声明提升
1.变量提升

js之函数作用域

文章插图
以上两个函数是相等的 , 变量的提升 。
2.函数提升;函数里面的子函数整体(是整体哈?。┖捅淞可鞫继嵘胶淖罡叽?。
【js之函数作用域】以上两个是相等的,一个提升前 , 一个提升后 。函数声明优先级高于变量声明提升,所以函数声明在变量声明之上 。