บทความนี้วิเคราะห์การใช้งานการเรียกใช้การหมดเวลา JS และการเรียกใช้ setInterval เป็นระยะ ๆ แบ่งปันสำหรับการอ้างอิงของคุณ รายละเอียดมีดังนี้:
วันนี้ฉันอ่านหนังสือ Advanced Programming (ฉบับที่สาม) ของ JavaScript และพบว่า SettimeOut ดีกว่า SetInterval และฉันคิดว่ามันเป็นเรื่องจริง ฉันมักจะใช้ setInterval เพื่อสร้างคะแนนมากขึ้น แต่ตอนนี้ฉันยังคิดอีกเล็กน้อย ฉันเรียนรู้อีกครั้ง การวิเคราะห์มีดังนี้:
SettimeOut มีพารามิเตอร์สองตัวพารามิเตอร์แรกคือรหัสที่จะดำเนินการและพารามิเตอร์ที่สองคือเวลา
พารามิเตอร์แรกอาจเป็นสตริงหรือฟังก์ชั่น แต่แนะนำให้ใช้ฟังก์ชันแทนสตริง
การใช้สตริงนั้นเทียบเท่ากับวิธีการประเมิน ทำให้เกิดการสูญเสียประสิทธิภาพ
ClearTimeout ()
รหัสที่เรียกว่าหมดเวลาถูกดำเนินการในขอบเขตส่วนกลางดังนั้นค่าของสิ่งนี้ในฟังก์ชั่นชี้ไปที่วัตถุหน้าต่างในโหมดที่เข้มงวดและไม่ได้กำหนดไว้ในโหมดที่เข้มงวด
คัดลอกรหัสดังนี้: // setinval
var num = 0;
var max = 10;
var intervalid = null;
ฟังก์ชั่นเพิ่มขึ้น () {
num ++;
ถ้า (num == สูงสุด) {
ClearInterval (innervalid);
การแจ้งเตือน ('เสร็จแล้ว');
-
-
IntervalID = setInterval (เพิ่มขึ้น (), 500);
// settimout ใช้ฟังก์ชันเดียวกัน
var num = 0;
var max = 10;
ฟังก์ชั่นเพิ่มขึ้น number2 () {
num ++;
if (num <max) {
settimeout (เพิ่มขึ้น 2,500);
}อื่น{
การแจ้งเตือน ('เสร็จแล้ว');
-
-
settimeout (เพิ่มขึ้น 2,500);
การเปรียบเทียบข้างต้นแสดงให้เห็นว่าเมื่อใช้การโทรหมดเวลาไม่จำเป็นต้องติดตามรหัสการโทรหมดเวลาเพราะหลังจากแต่ละรหัสถูกเรียกใช้งานหากไม่ได้ตั้งค่าการหมดเวลาอื่นการโทรจะหยุดด้วยตัวเอง
เป็นที่เชื่อกันโดยทั่วไปว่าหากการโทรหมดเวลาถูกใช้เพื่อจำลองการโทรเป็นระยะ ๆ มันเป็นรูปแบบที่ดีที่สุด
ในสภาพแวดล้อมการพัฒนามีการโทรไม่ต่อเนื่องจริงไม่กี่ครั้งเนื่องจากการโทรไม่ต่อเนื่องเป็นระยะหลังอาจเริ่มต้นก่อนที่จะสิ้นสุดการโทรช่องว่างก่อนหน้านี้
เป็นการดีที่สุดที่จะไม่ใช้การโทรเป็นระยะ ๆ
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน