1.作用域:起作用的范围
(1)块级作用域:JavaScript中没有块级作用域
(2)词法作用域:在代码写好的那一刻,变量的作用域已经确定好了,这个作用域叫做词法作用域,它与动态作用域相对。
(3)在JavaScript中唯一能产生作用域的东西是—函数
2.词法作用域的规则:
//函数允许访问函数外的数据.(函数外不允许访问函数内的数据)
//整个代码结构中只有函数可以限定作用域.
//作用域规则首先使用提升规则分析
(1)块级作用域:JavaScript中没有块级作用域
(2)词法作用域:在代码写好的那一刻,变量的作用域已经确定好了,这个作用域叫做词法作用域,它与动态作用域相对。
(3)在JavaScript中唯一能产生作用域的东西是—函数
2.词法作用域的规则:
//函数允许访问函数外的数据.(函数外不允许访问函数内的数据)
//整个代码结构中只有函数可以限定作用域.
//作用域规则首先使用提升规则分析
//如果当前作用域中有了该变量, 就不考虑外面的同名变量
3. //只要是函数就可以创造作用域
//函数中又可以再创建函数
//函数内部的作用域可以访问函数外部的作用域
//如果有多个函数嵌套,那么就会构成一个链式访问结构,这就是作用域链
重点://设置值的时候,也是访问变量
//获取值的时候,是访问变量
//并不是在函数内部写了变量,这个变量就属于这个函数的作用域,
// 而是必须使用var来声明变量,这个变量才会属于这个作用域
//函数在声明出来的时候,里面的代码不会执行,
//只有在调用的时候,代码才会执行
//声明函数时的函数名,其实也是一个变量名
//可以通过这个变量名来给其赋值