function test(){
var name = 'dabao';
console.log(name);
}
test();
console.log(name);
function demo(){
var age= 'dabao';
console.log(age);
}
demo();
console.log(age);
当我进入断点后,在浏览器里面输入name 打印出dabao 而断点结束后表名函数已经执行完毕了 这时候输入name 输出""
这里面是有什么运行机制么,还是因为函数外无法访问函数内部的变量,我知道结果,只是想了解下原理.
补充个问题,为什么上面两段代码同样的逻辑,得到的结果却不一样?
你疑惑的是 外面打印
name
为空字符串,因为name
是window属性,你可以在控制台输出window.name
,当然你里面的变量要是换其他的肯定就报错了。