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

ปิด 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 แต่ก็มีตัวแปรส่วนตัวเพื่อให้การทำงานเป็นไปได้

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

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