当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js作用域和作用域链及预解析

js作用域和作用域链及预解析

2019年07月24日  | 移动技术网IT编程  | 我要评论

变量---->局部变量和全局变量,

作用域:在某个空间范围内,可以对数据进行读写操作

局部作用域和全局作用域

js中没有块级作用域—一对括号中定义的变量,这个变量可以在大括号外面使用
函数中定义的变量是局部变量
作用域链:变量的使用,从里向外,层层的搜索,搜索到了就可以直接使用了
层层搜索,搜索到0级作用域的时候,如果还是没有找到这个变量,结果就是报错

在 javascript 中, 对象和函数同样也是变量。

在 javascript 中, 作用域为可访问变量,对象,函数的集合。

javascript 函数作用域: 作用域在函数内修改。

javascript 局部作用域

变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

javascript 全局变量

变量在函数外定义,即为全局变量。

全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。

javascript 变量生命周期

javascript 变量生命周期在它声明时初始化。

局部变量在函数执行完毕后销毁。

函数参数

函数参数只在函数内起作用,是局部变量。

html 中的全局变量

在 html 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。

作用域链:从子集作用域返回到父集作用域的过程

局部有能力去改外面(全局)的值

预解析:

预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。

预解析只会发生在通过var定义的变量和function上。

以上所述是小编给大家介绍的js作用域和作用域链及预解析详解整合,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网