iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Modern Web

一起進入網頁後端的世界吧 Restful Api 啟動 !系列 第 7

day7 - JavaScript 的 Hoisting 補充 & 區域變數 vs 全域變數

  • 分享至 

  • xImage
  •  

今天來補充昨天提到的Hoisting(變數提升),還有講解區域變數跟全域變數的差別。

Hoisting:
變數提升使得我們在宣告之前可以使用變數,而不會引發錯誤。
例如這樣

//var x = undefined;
console.log(x); // undefined
var x = 10;

javascript引擎會將var x 提升到它所在的作用域的頂部,然而變數提升只會提升宣告,並不會給值,所以console.log(x)出來會是undefined。
區域變數 vs 全域變數:

  1. 區域變數是在函式或區塊內部聲明的變數,僅在其所在的範圍內有效。
  2. 全域變數則是在程式任何地方聲明的變數,具有全域範圍,可在整個程式中訪問。
    區域變數提供了更小的作用範圍和更好的封裝性,而全域變數具有更廣泛的可見性。
    舉一個例子:
// 全域變數
let globalVariable = "我是全域變數";


function exampleFunction() {
  // 區域變數
  let localVariable = "我是區域變數";
  
  console.log(globalVariable); // 可以訪問全域變數
  console.log(localVariable); // 可以訪問區域變數
}


exampleFunction(); //會印出我是"全域變數"跟"我是區域變數"
console.log(globalVariable); // 可以訪問全域變數
console.log(localVariable); // 無法訪問區域變數,會引發錯誤


上一篇
day6 - JavaScript的基本概念
下一篇
day8 - JavaScript 匿名函數
系列文
一起進入網頁後端的世界吧 Restful Api 啟動 !30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言