javascript 變量作用域 代碼分析
更新時間:2009年06月26日 13:20:55 作者:
作用域(scope)是javascript中一項令人棘手的的特性。所有面向對象編程語言都有某種形式的作用域,不過和把這個概念放在什么上下文中有關。在javascript里,作用域是由函數(shù)劃分的。
代碼清單1-1 展示javascript的變量作用域的例子
//設置全局變量foo,并置為"test"
var foo = "test";
//在if塊中
if(true){
//將foo置為'new test'
var foo = "new test";
}
//如我們所見,現(xiàn)在foo等于'new test'了
alert(foo == "new test");
//創(chuàng)建一個會修改變量foo的新函數(shù)
function test(){
var foo = "old test";
}
//然而在調用時,foo只在函數(shù)作用域內起作用
test();
//這里確認了foo 還是等于'new test'
alert(foo == "new test");
基于瀏覽器的javascript 的一個有趣的特性是,所有屬于全局變量作用域的變量其實都是window對象的屬性。
代碼清單1-2 javascript中全局作用域和window對象
//一個全局作用域下的變量,存儲了字符串'test'
var test = 'test';
//你可以看到我們的全局變量和window對象的test屬性是一致的
alert(test == window.test)
最后如果變量沒有顯式定義,它就是全局定義的,雖然它可能只在這個函數(shù)作用域的范圍內使用。
代碼清單1-3 隱式全局作用域的變量聲明
//一個設置了foo值的函數(shù)
function test(){
foo = "test";
}
//調用此函數(shù)以設置foo的值
test();
//我們發(fā)現(xiàn)foo現(xiàn)在是全局作用域下
alert(window.foo == "test");
//設置全局變量foo,并置為"test"
var foo = "test";
//在if塊中
if(true){
//將foo置為'new test'
var foo = "new test";
}
//如我們所見,現(xiàn)在foo等于'new test'了
alert(foo == "new test");
//創(chuàng)建一個會修改變量foo的新函數(shù)
function test(){
var foo = "old test";
}
//然而在調用時,foo只在函數(shù)作用域內起作用
test();
//這里確認了foo 還是等于'new test'
alert(foo == "new test");
基于瀏覽器的javascript 的一個有趣的特性是,所有屬于全局變量作用域的變量其實都是window對象的屬性。
代碼清單1-2 javascript中全局作用域和window對象
//一個全局作用域下的變量,存儲了字符串'test'
var test = 'test';
//你可以看到我們的全局變量和window對象的test屬性是一致的
alert(test == window.test)
最后如果變量沒有顯式定義,它就是全局定義的,雖然它可能只在這個函數(shù)作用域的范圍內使用。
代碼清單1-3 隱式全局作用域的變量聲明
//一個設置了foo值的函數(shù)
function test(){
foo = "test";
}
//調用此函數(shù)以設置foo的值
test();
//我們發(fā)現(xiàn)foo現(xiàn)在是全局作用域下
alert(window.foo == "test");
您可能感興趣的文章:
- JavaScript詞法作用域與調用對象深入理解
- JavaScript中的作用域鏈和閉包
- javascript作用域容易記錯的兩個地方分析
- 深入理解JavaScript系列(14) 作用域鏈介紹(Scope Chain)
- 淺談javascript中的作用域
- js變量以及其作用域詳解
- js使用函數(shù)綁定技術改變事件處理程序的作用域
- javascript權威指南 學習筆記之變量作用域分享
- javascript中的作用域scope介紹
- 關于JavaScript中var聲明變量作用域的推斷
- JavaScript.The.Good.Parts閱讀筆記(二)作用域&閉包&減緩全局空間污染
- JavaScript中實現(xiàn)塊作用域的方法
- Javascript 變量作用域 兩個可能會被忽略的小特性
- Javascript學習筆記3 作用域
- JavaScript的變量作用域深入理解
- Javascript 作用域使用說明
- JavaScript 變量作用域及閉包
- javascript變量作用域使用中常見錯誤總結
相關文章
JavaScript 開發(fā)工具webstrom使用指南
本文給大家推薦了一款非常熱門的javascript開發(fā)工具webstrom,著重介紹了webstrom的特色功能、設置技巧、使用心得以及快捷鍵匯總,非常的全面。2014-12-12