日期:2014-05-16  浏览次数:20334 次

js作用域的理解
?
一. 什么是作用域
?
它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的.
?
表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。Javascript的作用域只有两种:全局作用域和本地作用域,本地作用域是按照函数来区分的。
?

二、作用域的注意事项

?

?

1.js的作用域是有函数划分的,而不是块儿

?

var too="test";

if(true){//这是在块中的定义,此时还是全局变量
var too="new test";
}


alert(too=="new test");//return true;
function test()
{
var too="old test";//这是在函数中的定义,此时是局部变量

}

?

test();

alert(too=="new test");//return true;too并没有改变

?

?

2.所有属于全局作用域的变量都是window对象的属性

?

上面例子中 第一行的 too就是等于 window.too

?

看下面的例子

?

function test()
{
too="test";
}
test();

alert(window.too="test");

?

也就是说没有显示定义的变量,它就是全局变量,虽然它可能只能在这个函数内使用。

?

?

参考资料:?? ?js中作用域?????? ?http://www.studyofnet.com/news/294.html

?

?