JavaScript โซนที่มีอิทธิพล

scope หมายถึงตัวแปรที่คุณมีสิทธิ์เข้าถึง

JavaScript function scope

ใน JavaScript มีสองประเภทของ scope คือ

  • local scope
  • global scope

JavaScript มี scope ของฟังก์ชัน:แต่ละฟังก์ชันสร้าง scope ใหม่

scope กำหนดความเข้าถึง (ความเห็น) ของตัวแปร

ตัวแปรที่กำหนดในภายในฟังก์ชันไม่สามารถเข้าถึงได้จากภายนอกฟังก์ชัน (ไม่เห็นได้)

local JavaScript variable

ตัวแปรที่ประกาศในฟังก์ชัน JavaScript จะกลายเป็นlocal variable

scope ของตัวแปร local คือlocal:สามารถเข้าถึงมันได้เฉพาะภายในฟังก์ชัน

ตัวอย่าง

// นี่คือรหัสที่ไม่สามารถใช้ตัวแปร carName
function myFunction() {
    var carName = "porsche";
    // นี่คือรหัสที่สามารถใช้ตัวแปร carName
}

ทดสอบด้วยตัวเอง

เนื่องจากสามารถรับรู้ตัวแปร local ได้เฉพาะภายในฟังก์ชัน ดังนั้นสามารถใช้ตัวแปรที่มีชื่อเดียวกันในฟังก์ชันต่างๆ

ตัวแปร local จะถูกสร้างขึ้นในตอนที่ฟังก์ชันเริ่มทำงาน และถูกลบออกในตอนที่ฟังก์ชันเสร็จงาน

global JavaScript variable

ตัวแปรที่ประกาศนอกฟังก์ชันจะกลายเป็นglobal variable

scope ของตัวแปร global คือglobal:ทั้งหมดของรหัสและฟังก์ชันในเว็บไซต์สามารถเข้าถึงมันได้

ตัวอย่าง

var carName = "porsche";
// นี่คือรหัสที่สามารถใช้ตัวแปร carName
function myFunction() {
    // นี่คือรหัสที่สามารถใช้ตัวแปร carName
}

ทดสอบด้วยตัวเอง

ตัวแปร JavaScript

ใน JavaScript แบบ object และ function ก็เป็นตัวแปร

scope กำหนดความเข้าถึงตัวแปร แบบแปลงฝึกและฟังก์ชันจากส่วนต่างๆ ของรหัส

global โดยอัตโนมัติ

หากคุณกำหนดค่าให้ตัวแปรที่ยังไม่ได้ประกาศ ตัวแปรนี้จะกลายเป็นglobalตัวแปร。

รหัสนี้จะประกาศตัวแปร global คือ carName แม้ว่าจะมีการกำหนดค่าในภายในฟังก์ชัน

ตัวอย่าง

myFunction();
// นี่คือรหัสที่สามารถใช้ตัวแปร carName
function myFunction() {
    carName = "porsche";
}

ทดสอบด้วยตัวเอง

โหมด "strict mode"

ทุกเบราเซอร์ที่สมัครใช้งานใหม่สนับสนุนการทำงานโดยโหมด "strict mode"

คุณจะได้เรียนเกี่ยวกับการใช้โหมด "strict mode" มากยิ่งขึ้นในบทเรียนต่อไปของนี้

ในโหมด "strict mode" จะไม่ทำการสร้างตัวแปรโลกโดยอัตโนมัติ

ตัวแปรโลกใน HTML

ผ่าน JavaScript ท้องถิ่นโลกจะทำให้เกิดสภาพแวดล้อม JavaScript ทั้งหมด

ใน HTML ท้องถิ่นโลกคือ window ทุกตัวแปรโลกเป็นส่วนหนึ่งของวัตถุ window

ตัวอย่าง

var carName = "porsche";
// รหัสในส่วนนี้สามารถใช้ window.carName

ทดสอบด้วยตัวเอง

คำเตือน

หากไม่มีความต้องการ โปรดไม่ทำการสร้างตัวแปรโลก

ตัวแปรโลก (หรือฟังก์ชัน) ของคุณ (หรือฟังก์ชัน) สามารถทดแทนตัวแปร (หรือฟังก์ชัน) วัตถุ window

คุณสามารถทดแทนตัวแปรและฟังก์ชันโลกด้วยฟังก์ชันที่รวมถึงวัตถุ window

อายุตัวแปร JavaScript

อายุตัวแปร JavaScript จะเริ่มต้นขึ้นเมื่อมีการสร้างตัวแปร

ตัวแปรท้องถิ่นจะถูกลบเมื่อฟังก์ชันเสร็จงาน

ตัวแปรท้องถิ่นจะถูกลบเมื่อคุณปิดหน้าเว็บ

ตัวแปรพารามิเตอร์

ตัวแปรพารามิเตอร์ก็เป็นตัวแปรท้องถิ่นของฟังก์ชัน