在 JavaScript 中,您可以在任意位置聲明變量,但不同的位置會影響變量的可用范圍而姐,這個范圍稱為作用域。作用域可以大致分為兩種類型划咐,分別是全局作用域和局部作用域拴念。
JS 全局作用域
全局作用域是指變量可以在當前腳本的任意位置訪問,擁有全局作用域的變量也被稱為“全局變量”褐缠,一般情況下?lián)碛幸韵绿卣鞯淖兞烤哂腥肿饔糜颍?/p>
1.最外層的函數(shù)和在最外層函數(shù)外面定義的變量擁有全局作用域政鼠;
2.所有未定義直接賦值的變量擁有全局作用域;
3.所有 window 對象的屬性擁有全局作用域队魏,例如 window.name公般、window.location、window.top 等胡桨。
實際情況下官帘,所有具有全局作用域的變量都會被綁定到?
indow 對象中,成為 window 對象的一個屬性昧谊,如下例所示:
JS 局部作用域
在函數(shù)內(nèi)部聲明的變量具有局部作用域遏佣,擁有局部作用域的變量也被稱為“局部變量”,局部變量只能在其作用域中(函數(shù)內(nèi)部)使用揽浙。示例代碼如下:
在函數(shù)內(nèi)定義的局部變量只有在函數(shù)被調(diào)用時才會生成状婶,當函數(shù)執(zhí)行完畢后會被立即銷毀。