课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
作用域是程序员在学习JavaScript编程开发语言的时候需要重点掌握的一个编程知识点,下面我们就通过案例分析来了解一下,JavaScript变量声明方法都有哪些。
作用域是程序的执行环境,它包含在当前位置可访问的变量和函数。在ES5语法中,有全局作用域和局部作用域,ES6则新增了块级作用域。
全局作用域是外层的作用域,在函数外面定义的变量属于全局作用域,可以被任何其他子作用域访问。在浏览器中,window对象就是全局作用域。在编写前端代码过程中,其中有一条优化规则就是少使用全局变量,因为全局变量容易导致程序BUG,并且不容易查找。
局部作用域的基本单元是function,只在函数体内有效。局部作用域是在函数内部的作用域。在局部作用域定义的变量只能在该作用域以及其子作用域被访问。
javascript中,变量声明使用var、const、let来声明变量,var为ES5的语法,const和let为ES6之后的语法。ES6的let和const为新引入的关键字,它们不会被提升,而且是块作用域。也就是说被大括号包围起来的区域声明的变量外部将不可访问。
var声明
var声明,为ES5的语法,var声明的变量总是归属于包含函数(即全局,如果在顶层的话)。在javascript函数内部声明的变量(使用var)是局部变量,所以只能在函数内部访问它(该变量的作用域是局部的)。可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
提升(Hoisting)
在编译过程中,将var和function的定义移动到他们作用域前面的行为叫做提升。
整个函数定义会被提升。所以,可以在函数还未定义之前调用它,而不用担心找不到该函数。
const声明
const是对赋值做锁定,不对值的改变锁定。例如:数组、对象。一个常见的误解是:使用const声明的变量,其值不可更改,但是对于数组和对象,其值是可以更改的。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。