การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น foo ()
-
-
setInterval ("foo ()", 1,000);
หากคุณใช้เทคโนโลยี OO คุณสามารถทำได้
การคัดลอกรหัสมีดังนี้:
// ตัวสร้าง
ฟังก์ชั่น myobj
-
ฟังก์ชั่น foo ()
-
การแจ้งเตือน (this.data);
-
this.timer = foo;
this.data = "สวัสดี";
setInterval ("this.timer ()", 1,000);
-
ฟังก์ชั่นอื่น ()
-
// สร้างตัวจับเวลาเมื่อสร้างวัตถุ
var obj = ใหม่ myobj ();
-
อย่างไรก็ตามมันไม่ทำงานอย่างที่คุณคิด เหตุผลก็คือฟังก์ชัน setInterval () ไม่รู้จักตัวแปรนี้ วิธีแก้ปัญหาสามารถทำได้
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นอื่น ()
-
var obj = nw myobj ();
setInterval ("obj.timer ()", 1,000);
-
เห็นได้ชัดว่ามันทำงานได้อย่างถูกต้อง แต่ถ้าคุณเป็นคนชอบความสมบูรณ์แบบคุณจะไม่พอใจกับมัน โชคดีที่การกระทำนี้สามารถนำเข้าสู่ตัวสร้างโดยมีการเปลี่ยนแปลงเล็กน้อยในรูปแบบ
การคัดลอกรหัสมีดังนี้:
// ตัวสร้าง
ฟังก์ชั่น myobj
-
ฟังก์ชั่น foo ()
-
การแจ้งเตือน (this.data);
-
this.timer = foo;
this.data = "สวัสดี";
var self = this;
setInterval (function () {self.timer ();}, 1000);
-
ฟังก์ชั่นอื่น ()
-
var obj = ใหม่ myobj ();
-
ตกลงโดยใช้การปิดมันก็โอเค สำหรับเหตุผลฉันต้องการให้ผู้อ่านคิดด้วยตัวเอง
สุดท้ายให้ตัวอย่างของกรณีทดสอบต่างๆ
การคัดลอกรหัสมีดังนี้:
<html>
<head>
<title>
สวัสดีตัวจับเวลา
</title>
<ภาษาสคริปต์ = "jscript">
-
* มี 3 คลาส
-
* 1. ตัวจับเวลาสามารถเรียกใช้และผลลัพธ์ก็โอเค
* 2. ตัวจับเวลาสามารถเรียกใช้และผลลัพธ์นั้นผิด
* 3. ตัวจับเวลาไม่สามารถเรียกใช้ได้
-
-
ฟังก์ชั่น obj ()
-
ฟังก์ชั่น foo ()
-
การแจ้งเตือน (this.timer);
-
this.timer = foo;
-
var me = this;
var f = function () {me.timer (); -
var f2 = function () {this.timer (); -
// ชั้น 1
// setInterval (f, 1000);
// ชั้น 3
// setInterval (F2, 1,000);
// 2nd คลาส
// setInterval (me.timer, 1,000);
// setInterval (this.timer, 1,000);
// setInterval (foo, 1,000);
// ชั้น 3
// setInterval ("this.timer ()", 1,000);
// setInterval ("me.timer ()", 1,000);
// setInterval ("foo ()", 1,000);
-
var o = null;
ฟังก์ชั่น onclick ()
-
o = ใหม่ obj ();
// ชั้น 1
// setInterval ("o.timer ()", 1,000);
setInterval (function () {o.timer ();}, 1000);
// 2nd คลาส
// setInterval (O.Timer, 1,000);
-
</script>
</head>
<body>
<อินพุต type = "ปุ่ม" onclick = "onclick ()" value = "คลิกฉัน"> </put>
</body>
</html>