js之函数作用域
一、在函数中声明的变量是外部是不能访问的。
二、全局变量是可以在函数中访问。
三、当函数调用的时候,是调用的时候哈,每调用一次函数,就会生成一个新的函数作用域,相互独立且不影响。
四、函数作用域链:函数先在自身找变量,找不到时,就会找函数的父函数,父函数中没有就找爷爷函数,以此类推,直到找到全局作用域。如果都没有只能报错了。
五、在函数中也存在变量声明提升和函数声明提升
1.变量提升
以上两个函数是相等的,变量的提升。
2.函数提升;函数里面的子函数整体(是整体哈!)和变量声明都提升到函数的最高处。
以上两个是相等的,一个提升前,一个提升后。函数声明优先级高于变量声明提升,所以函数声明在变量声明之上。