ความแตกต่างที่ใหญ่ที่สุดอย่างหนึ่งระหว่าง js และภาษาอย่าง java ก็คือฟังก์ชั่นต่างๆ ยังถือเป็นข้อมูลและสามารถดำเนินการได้เหมือนกับวัตถุใน java และเนื่องจาก js ไม่ได้ทำการตรวจสอบประเภท อาร์เรย์จึงสามารถจัดเก็บอะไรก็ได้ ดังนั้นฉันจึงสงสัยว่าฟังก์ชันสามารถเก็บไว้ในอาร์เรย์ได้หรือไม่
ใช้ฟังก์ชันต่อไปนี้:
หลังจากเรียกใช้ฟังก์ชันแล้วจะเก็บตัวเองไว้ในอาร์เรย์ (ไม่สามารถจัดเก็บตามพารามิเตอร์ได้)
จากนั้นคุณสามารถใช้ฟังก์ชันขนาดใหญ่เพื่อจัดการอาร์เรย์และเรียกใช้ฟังก์ชันภายในอาร์เรย์ได้
เดิมทีฉันต้องการใช้วิธีนี้เพื่อรันฟังก์ชัน Undo (นั่นคือ แต่ละฟังก์ชันจะเก็บตัวเองไว้ในนั้น และหากเป็น Undo ฟังก์ชันสุดท้ายจะถูกตัดออกและคิวทั้งหมดจะถูกดำเนินการ) แต่ต่อมาฉันรู้สึกว่านี่คือ ลำบากเกินไป อย่างไรก็ตาม ฟังก์ชันของอาร์เรย์ฟังก์ชันได้รับการยอมรับแล้ว: วาง JSP
คัดลอกรหัสรหัสดังต่อไปนี้:
<%@ ภาษาเพจ = "java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MothedList</title>
</หัว>
<ร่างกาย>
<ประเภทอินพุต = "ปุ่ม" onclick = "ff ()" />
<script type="text/javascript">
รายการ = อาร์เรย์ใหม่;
f1 = ฟังก์ชั่น f1 (แฟล็ก) {
alert("f1");
ถ้า(ธง)
รายการ.ผลักดัน(f1);
-
f2 = ฟังก์ชั่น f1 (แฟล็ก) {
alert("f2");
ถ้า(ธง)
รายการ.ผลักดัน(f2);
-
ฟังก์ชั่น ff() {
f1(จริง);
f2(จริง);
f = list.pop();
ฉ(เท็จ);
f = list.pop();
ฉ();
-
</สคริปต์>
</ร่างกาย>
</html>