js中,作用域与作用域链的概念
1 作用域
声明的一个变量只在一段代码范围内是有效的,并不是总有效的。例如 :
function father(){ // 声明变量 var val = "作用域内"; // 定义内部函数 function children() { console.log(val); // 可以访问到 val 变量,结果为:“作用域内” } } console.log(val); // 报错,undefined
2作用域链
当所需要的变量,在所在的作用域中查找不到的时候,它会一层一层向上查找,直到找到全局作用域还没有找到的时候,就会放弃查找。这种一层一层的关系,就是作用域链。
浙公网安备 33010602011771号