JS的词法作用域
词法作用域定义实现的规则:
1 函数作用域实在定义的时候决定的,而不是在执行时候决定
2 为了实现这种词法作用域,函数内部不仅包含函数代码逻辑,还必须引用当前的作用域链。
3 函数对象可以通过作用域链相互关联起来,函数内部的变量都可以保存在函数作用域内。
变量作用域:变量的作用域是程序源代码中定义这个变量的区域。
1在函数内部,局部变量的优先级要高于同名的全局变量。
2 JS是函数作用域
3 函数作用域:变量在声明它的函数体内以及该函数内部嵌套的函数体内都有定义。
4 JS的函数作用域指的是:在函数内声明的所有变量在函数体内始终是可见的。
5 作为属性的变量:使用var声明的变量不可配置
6 局部变量可以看做是某个局部对象的属性
7 如果把一个局部变量看做是一个局部自定义对象的属性的话,那么每段javascript代码都有与之相关联的作用域链。并且作用域链是由一些列的对象组成,这个作用域链定义了变量的范围。
8 当定义一个函数时,它实际保存了一个作用域连,当调用这个函数时,它创建了一个新的对象来存储她的局部变量,并将这个对象添加至保存的那个作用域脸上,同时创建一个新的更长的表示函数调用的作用域“链”
9 对象则没有闭包这一特性。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。