Latest web development tutorials
×

JavaScript หลักสูตร

JavaScript หลักสูตร JavaScript แนะนำโดยย่อ JavaScript การใช้ JavaScript ส่งออก JavaScript ไวยากรณ์ JavaScript งบ JavaScript หมายเหตุ JavaScript ตัวแปร JavaScript ชนิดข้อมูล JavaScript วัตถุ JavaScript ฟังก์ชัน JavaScript ขอบเขต JavaScript เหตุการณ์ JavaScript เชือก JavaScript ผู้ประกอบการ JavaScript เปรียบเทียบ JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript ประเภทการแปลง JavaScript นิพจน์ปกติ JavaScript ความผิดพลาด JavaScript แก้จุดบกพร่อง JavaScript ยกตัวแปร JavaScript โหมดที่เข้มงวด JavaScript ใช้ไม่เหมาะสม JavaScript รูปแบบการตรวจสอบสิทธิ์ JavaScript ลิขสิทธิ์คำสำคัญ JavaScript JSON JavaScript void JavaScript ข้อมูลจำเพาะรหัส

JS ฟังก์ชัน

JavaScript นิยามฟังก์ชัน JavaScript อาร์กิวเมนต์ของฟังก์ชัน JavaScript เรียกใช้ฟังก์ชัน JavaScript การปิด

JS HTML DOM

DOM แนะนำโดยย่อ DOM HTML DOM CSS DOM เหตุการณ์ DOM EventListener DOM ธาตุ

JS การสอนที่ทันสมัย

JavaScript วัตถุ JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp วัตถุ

JS เบราว์เซอร์ BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript ป๊อป JavaScript เหตุการณ์หมดเวลา JavaScript Cookies

JS โกดัง

JavaScript โกดัง JavaScript ทดสอบ jQuery JavaScript ทดสอบ Prototype

JS ตัวอย่าง

JavaScript ตัวอย่าง JavaScript ตัวอย่างวัตถุ JavaScript วัตถุเช่นเบราว์เซอร์ JavaScript HTML DOM ตัวอย่าง JavaScript ย่อ

JS คู่มืออ้างอิง

JavaScript วัตถุ HTML DOM วัตถุ

ปิด JavaScript

ตัวแปร JavaScript ที่สามารถเป็นตัวแปรท้องถิ่นหรือระดับโลก

ตัวแปรเอกชนสามารถนำมาใช้ปิด


ตัวแปรทั่วโลก

ฟังก์ชั่นสามารถเข้าถึงตัวแปรที่กำหนดโดยฟังก์ชั่นภายในเช่น ?:

ตัวอย่าง

ฟังก์ชั่น myFunction () {
var A = 4;
กลับ * a;
}

ลอง»

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

ตัวอย่าง

var A = 4;
ฟังก์ชั่น myFunction () {
กลับ * a;
}

ลอง»

ตัวอย่างของการกลับเป็นตัวแปรทั่วโลก

ในหน้าเว็บที่อยู่ในวัตถุหน้าต่างตัวแปรทั่วโลก

ตัวแปรทั่วโลกสามารถนำมาใช้ในสคริปต์ทั้งหมดบนหน้าเว็บ

ในกรณีแรกเป็นตัวแปรท้องถิ่น

ตัวแปรท้องถิ่นเท่านั้นที่สามารถใช้ในการกำหนดฟังก์ชั่นภายใน สำหรับฟังก์ชั่นอื่น ๆ หรือรหัสสคริปต์ไม่สามารถใช้ได้

แม้ตัวแปรระดับโลกและระดับท้องถิ่นที่มีชื่อเดียวกันพวกเขายังมีสองตัวแปรที่แตกต่างกัน แก้ไขหนึ่งก็จะไม่ส่งผลกระทบต่อมูลค่าของอื่น ๆ

หมายเหตุ หากคุณไม่ได้ประกาศตัวแปรโดยใช้คำหลัก var แล้วมันเป็นตัวแปรทั่วโลกถึงแม้ว่ามันจะกำหนดไว้ในฟังก์ชั่น


วงจรชีวิตของตัวแปร

ขอบเขตของตัวแปรทั่วโลกเป็นโลกที่เป็นตลอดทั้งโปรแกรม JavaScript ตัวแปรทั่วโลกมีอยู่ทุกหนทุกแห่ง

ในตัวแปรประกาศภายในฟังก์ชันเท่านั้นทำงานในฟังก์ชัน ตัวแปรเหล่านี้มีในท้องถิ่นอยู่ในขอบเขต; พารามิเตอร์ของฟังก์ชันเป็นภาษาท้องถิ่น, เฉพาะภายในงานฟังก์ชั่น


เคาน์เตอร์ Dilemma

หากคุณต้องการที่จะจินตนาการที่สถิติตัวเลขบางส่วนและเคาน์เตอร์ที่มีอยู่ในทุกฟังก์ชั่น

คุณสามารถใช้ตัวแปรทั่วโลก, ฟังก์ชั่นชุดเคาน์เตอร์จะเพิ่มขึ้น:

ตัวอย่าง

เคาน์เตอร์ var = 0;

ฟังก์ชั่น Add () {
เคาน์เตอร์ + 1 =;
}

เพิ่ม ();
เพิ่ม ();
เพิ่ม ();

// เคาน์เตอร์คือตอนนี้ 3

ลอง»

การเปลี่ยนแปลงค่าตัวนับที่เกิดขึ้นในการดำเนินงานของ add () ฟังก์ชั่น

แต่คำถามคือสคริปต์ใด ๆ บนหน้าเว็บสามารถเปลี่ยนเคาน์เตอร์แม้ว่าจะมีการเรียกร้องที่จะเพิ่มฟังก์ชัน ()

ถ้าผมประกาศฟังก์ชั่นภายในเคาน์เตอร์ถ้าไม่เรียกฟังก์ชั่นจะไม่ปรับเปลี่ยนค่าของเคาน์เตอร์:

ตัวอย่าง

ฟังก์ชั่น Add () {
เคาน์เตอร์ var = 0;
เคาน์เตอร์ + 1 =;
}

เพิ่ม ();
เพิ่ม ();
เพิ่ม ();

// ความตั้งใจที่จะส่งออกที่ 3 แต่มันไม่ได้ออกเป็น 1!

ลอง»

รหัสข้างต้นจะไม่ออกมาอย่างถูกต้องทุกครั้งที่ผมเรียกร้องให้เพิ่ม () ฟังก์ชันเคาน์เตอร์จะได้รับการตั้งค่าเป็น 1

ฟังก์ชั่นแบบอินไลน์ JavaScript สามารถแก้ปัญหานี้


ฟังก์ชั่นจาวาสคริปต์ที่ซ้อนกัน

ฟังก์ชั่นทั้งหมดสามารถเข้าถึงตัวแปรทั่วโลก

ในความเป็นจริงใน JavaScript, ฟังก์ชั่นทุกคนสามารถเข้าถึงได้บนพื้นของขอบเขต

JavaScript สนับสนุนการทำงานที่ซ้อนกัน ฟังก์ชั่นที่ซ้อนกันสามารถเข้าถึงตัวแปรในชั้นฟังก์ชั่น

ในตัวอย่างนี้ฟังก์ชั่นที่ซ้อนกันบวก () สามารถเข้าถึงตัวแปรเคาน์เตอร์ฟังก์ชั่นที่ผู้ปกครอง:

ตัวอย่าง

ฟังก์ชั่น Add () {
เคาน์เตอร์ var = 0;
ฟังก์ชั่นบวก () {เคาน์เตอร์ + = 1;}
บวก ();
กลับเคาน์เตอร์;
}

ลอง»

ถ้าเราสามารถเข้าถึงบวกนอก () ฟังก์ชั่นเพื่อให้เราสามารถอยู่ในชะตากรรมของเคาน์เตอร์

นอกจากนี้เรายังต้องให้แน่ใจว่าเคาน์เตอร์ = 0 เพียงครั้งเดียว

เราจำเป็นต้องปิด


ปิด JavaScript

โปรดจำไว้ว่าฟังก์ชั่นการโทรที่ตัวเองทำอย่างไร ฟังก์ชั่นนี้จะทำอย่างไร

ตัวอย่าง

var เพิ่ม = (ฟังก์ชั่น () {
เคาน์เตอร์ var = 0;
ฟังก์ชั่นกลับ () {กลับมาที่เคาน์เตอร์ + = 1;}
}) ();

เพิ่ม ();
เพิ่ม ();
เพิ่ม ();

3 // เคาน์เตอร์

ลอง»

ตัวอย่างของการวิเคราะห์

เพิ่มตัวแปรคำบ่งชี้ว่าค่าตอบแทนของฟังก์ชั่นเรียกตัวเอง

ฟังก์ชั่นการโทรตนเองจะดำเนินการเพียงครั้งเดียว การตั้งเคาน์เตอร์ให้เป็นศูนย์ และกลับไปที่การแสดงออกของฟังก์ชั่น

เพิ่มตัวแปรเป็นฟังก์ชันในการใช้งาน ส่วนที่ดีก็คือว่ามันสามารถเข้าถึงได้บนขอบเขตของเคาน์เตอร์ชั้นฟังก์ชั่น

นี้เรียกว่าการปิด JavaScript แต่ก็มีตัวแปรส่วนตัวเพื่อให้การทำงานเป็นไปได้

เคาน์เตอร์ว่าขอบเขตของการป้องกันของฟังก์ชั่นที่ไม่ระบุชื่อเท่านั้นที่สามารถแก้ไขได้โดยวิธีการเพิ่ม

หมายเหตุ การปิดให้สามารถเข้าถึงฟังก์ชั่นตัวแปรหนึ่งขอบเขตภายในฟังก์ชันแม้ว่าฟังก์ชั่นชั้นได้ถูกปิด