JavaScript โซนที่มีอิทธิพล
- หน้าก่อน JS ข้อผิดพลาด
- หน้าต่อไป JS Hoisting
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 จะเริ่มต้นขึ้นเมื่อมีการสร้างตัวแปร
ตัวแปรท้องถิ่นจะถูกลบเมื่อฟังก์ชันเสร็จงาน
ตัวแปรท้องถิ่นจะถูกลบเมื่อคุณปิดหน้าเว็บ
ตัวแปรพารามิเตอร์
ตัวแปรพารามิเตอร์ก็เป็นตัวแปรท้องถิ่นของฟังก์ชัน
- หน้าก่อน JS ข้อผิดพลาด
- หน้าต่อไป JS Hoisting