|
//設置全局變量foo,并置為"test"
var foo = "test";
//在if塊中
if(true){
//將foo置為'new test'
var foo = "new test";
}
//如我們所見,現在foo等于'new test'了
alert(foo == "new test");
//創建一個會修改變量foo的新函數
function test(){
var foo = "old test";
}
//然而在調用時,foo只在函數作用域內起作用
test();
//這里確認了foo 還是等于'new test'
alert(foo == "new test");
基于瀏覽器的Javascript 的一個有趣的特性是,所有屬于全局變量作用域的變量其實都是window對象的屬性。
代碼清單1-2 Javascript中全局作用域和window對象
//一個全局作用域下的變量,存儲了字符串'test'
var test = 'test';
//你可以看到我們的全局變量和window對象的test屬性是一致的
alert(test == window.test)
最后如果變量沒有顯式定義,它就是全局定義的,雖然它可能只在這個函數作用域的范圍內使用。
代碼清單1-3 隱式全局作用域的變量聲明
//一個設置了foo值的函數
function test(){
foo = "test";
}
//調用此函數以設置foo的值
test();
//我們發現foo現在是全局作用域下
alert(window.foo == "test");
JavaScript技術:javascript 變量作用域 代碼分析,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。