js面试题 什么是作用域?
嗨,我是小路。今天主要和大家分享的主题是“什么是作用域?”。
js作用域有全局作用域和局部作用域(块)。
全局作用域:是在整个js中都可以访问。
局部作用域:只能在函数内部使用,不能在函数外部使用。
作用域链:在作用域内部可以方外函数外部的变量。
1.作用域
注意:
1、除了函数外,js是没有块级作用域。
2、作用域链:内部可以访问外部的变量,但是外部不能访问内部的变量注意:如果有相同名变量,查找顺序是内部变量->外部变量。
3、注意声明变量是用var还是没有,如果没写,默认在windows全局环境下的变量;如果有,就是在当前作用域下的变量。有可能是全局,也有可能不是全局。
4、注意变量提升机制。变量会先进行声明,然后再根据进行进行执行,执行到赋值的时候,再对变量进行复制。
5、声明的排序:声明变量->声明普通函数->参数->变量提升。
注意:
1、js使用时,尽量使用let、const 代替var,避免变量提升;其次注意给变量进行声明,避免全局污染。
2、减少全局变量的使用。因为全局变量会一直存在。
3、利用块级作用域控制变量的生命周期。在函数内使用变量,当函数运行结束,函数内部的变量也会进行释放。
三、学习感悟
若是作为一名软件开发人员,不仅要熟悉对应岗位的技能,如前端开发,就要熟悉vue、js等等;同时还要熟悉面试题,因为面试就是一种估价博弈,你面试的表现越好,估出的价格才会越高。
所以,不论是前端还是后端的小伙伴们,一旦搞技术,一定好好好准备面试。祝大家在金九银十季节里,估出更好的价格。
都看到这里了,记得【点赞】+【关注】哟。