变量---->局部变量和全局变量,
范围:在一定的空间范围内,可以读写数据
本地范围和全局范围
js中没有块级作用域——一对括号中定义的变量,这个变量可以在大括号之外使用
函数中定义的变量是局部变量
作用域链:使用变量时,从内向外,逐层查找。找到后就可以直接使用了
逐层搜索后,如果在0级范围搜索时仍然没有找到变量,结果会报错
在 JavaScript 中,对象和函数也是变量。
在 JavaScript 中,作用域是可访问变量、对象和函数的集合。
JavaScript 函数作用域:作用域在函数内修改。
JavaScript 本地作用域
变量在函数内声明并具有局部作用域。
局部变量:只能在函数内部访问。
因为局部变量只作用在函数内部,所以不同的函数可以使用同名的变量。
局部变量在函数开始执行时创建。局部变量在函数执行后自动销毁。
JavaScript 全局变量
在函数外部定义的变量是全局变量。
全局变量具有全局作用域:网页中的所有脚本和函数都可以使用。
如果变量没有在函数内声明(不使用var关键字),则该变量是全局变量。
JavaScript变量生命周期
JavaScript 变量生命周期在声明时初始化。
局部变量在函数执行完成后被销毁。
功能参数
函数参数仅在函数内部起作用,并且是局部变量。
HTML 中的全局变量
在 HTML 中,全局变量是窗口对象:所有数据变量都属于窗口对象。
作用域链:从子集作用域返回到父作用域的过程
本地有能力改变外部(全局)值
准备:
预解析:在当前作用域内,js运行之前,带有var和function关键字的预声明会被安排在内存中。然后从上到下执行js语句。
仅对通过 var 定义的变量和函数进行准备。
以上就是小编为大家介绍的js作用域、作用域链、预解析的详细讲解和整合。希望对您有所帮助。如果您有任何疑问,请给我留言,编辑会及时回复您。 。也非常感谢大家对来客网网站的支持!