var a=10;//全局
(function(){
var b = 20;//函数
})();
console.log(a);//10
console.log(b);//error
for(var item in{a:1,b:2}){
console.log(item);//item still in scope
}
console.log(item);
eval("var a=1");//eval
javascript没有块级作用域的概念,在块中定义的变量和在全局定义的效果是一样的,比如上面for循环中的item,外面也可以访问到。
第一种作用域是:全局作用域
第二种作用域是:函数作用域,不如b在外面是访问不到的
还有一种比较特别的eval
本文深入探讨了JavaScript中的作用域概念,特别是全局作用域、函数作用域以及eval的使用。通过实例展示了如何在不同作用域中定义和访问变量,并解释了eval函数的作用。
5914

被折叠的 条评论
为什么被折叠?



