js靜態(tài)作用域的功能。
更新時間:2006年12月25日 00:00:00 作者:
JS的作用域是個比較復(fù)雜的東西
JS的作用域是靜態(tài)的,當定義一個function時,function的作用域是定義function時所在的作用域,而不是調(diào)用function時所在的作用域。
當調(diào)用一個function時,就會創(chuàng)建一個新的作用域,在這個作用域中用var定義的變量就是局部變量,一般情況下function執(zhí)行結(jié)束之后這個調(diào)用時所創(chuàng)建的作用域就會被系統(tǒng)回收。
在function圈套定義時,如果里面定義的function被保存了下來(如:賦給一個全局變量)。那么它所在的作用域(調(diào)用外面function時所創(chuàng)建的作用域)也必須一起保存下來(也就是說外面function執(zhí)行結(jié)束時這個調(diào)用時所創(chuàng)建的作用域不會被系統(tǒng)回收,要等到保存下來的function被系統(tǒng)回收時系統(tǒng)一起回收)。
作用域保存下來在這個作用域中的所有局部變量當然也都保存了下來。
JS的作用域是靜態(tài)的,當定義一個function時,function的作用域是定義function時所在的作用域,而不是調(diào)用function時所在的作用域。
當調(diào)用一個function時,就會創(chuàng)建一個新的作用域,在這個作用域中用var定義的變量就是局部變量,一般情況下function執(zhí)行結(jié)束之后這個調(diào)用時所創(chuàng)建的作用域就會被系統(tǒng)回收。
在function圈套定義時,如果里面定義的function被保存了下來(如:賦給一個全局變量)。那么它所在的作用域(調(diào)用外面function時所創(chuàng)建的作用域)也必須一起保存下來(也就是說外面function執(zhí)行結(jié)束時這個調(diào)用時所創(chuàng)建的作用域不會被系統(tǒng)回收,要等到保存下來的function被系統(tǒng)回收時系統(tǒng)一起回收)。
作用域保存下來在這個作用域中的所有局部變量當然也都保存了下來。
相關(guān)文章
JavaScript中把數(shù)字轉(zhuǎn)換為字符串的程序代碼
本篇文章是對JavaScript中把數(shù)字轉(zhuǎn)換為字符串的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06javascript 基礎(chǔ)簡介 適合新手學(xué)習(xí)
在網(wǎng)絡(luò)或書籍所說的JavaScript大部分指客戶端JavaScript。2009-09-09javascript的delete運算符知識點總結(jié)
在本篇文章里小編給大家分享的是關(guān)于JS中delete運算符的基礎(chǔ)知識點,有需要的朋友們跟著學(xué)習(xí)下。2019-11-11