3-5、作用域
2017-11-06 本文已影响7人
留白_汉服vs插画
3-5、作用域
知识点1、js没有块级作用域.如下代码,不管name是在if的{ }还是for的{ }中定义,都是在一个块里。但是并不存在块级作用域。这时候作用域依然是全局的window。
知识点2、有全局作用域和函数作用域。下面8行a 和 10行a。8行定义在全局作用域上面的。而10行定义在函数体中,也就是一个函数作用域。外面的函数是无法访问的。
父级作用域是定义时,不是执行时。判断一个函数的作用域,不是看它在执行时候如何,而是看定义时候如何。
a和b之所以是“自由变量”,因为当前的作用域F2中,没有定义。沿着作用域链,一层一层往上找到定义的位置。