javascript中的作用域和变量

javascript的作用域:就是变量和函数的可访问的范围,,即作用域控制着变量和函数的可见性和生命周期。

全局作用域

1.不在函数内定义的变量都具有全局作用域。2.javascript默认有一个全局对象window,全局作用域的变量实际上被绑在了window的一个属性上面。3.window对象的内置属性都具有全局作用域。

局部作用域

是通过函数来定义,只在函数内部可见被称为局部作用域。

全局变量

变量的访问来自不同的作用域,在函数定义外声明的变量就是全局变量。它的值可以在整个程序中访问和修改。变量在函数内没有声明(也就是没有使用var关键字),那它也是全局变量。

局部变量

在函数内声明的变量就是局部变量。因为它只作用于函数内所以不同的函数可以用相同的变量名。函数外不能访问函数内的变量,函数内可以访问函数外的变量。

块级作用域(var不支持块级作用域,ES6引入了let,const可以声明块级作用域的变量)

指在if,switch,循环语句块中定义的变量,变量不能在语句块之外被访问。

作用域vs上下文

作用域是基于函数,上下文是基于对象。

猜你喜欢

转载自blog.csdn.net/baidu_39043816/article/details/108450595