บทความนี้อธิบายถึงวิธีที่ JS ใช้ Eval () เพื่อสร้างตัวแปรแบบไดนามิก แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
1. ฟังก์ชั่น eval () คืออะไร?
ฟังก์ชั่น eval_r () สามารถคำนวณสตริงและเรียกใช้รหัส JavaScript ในนั้น
2. จะกำหนดตัวแปรแบบไดนามิกได้อย่างไร?
เนื่องจาก Evals () สามารถคำนวณสตริงได้ทำไมไม่แปลงวิธีการเขียนของการกำหนดตัวแปรเป็นสตริงแล้วใส่ลงในฟังก์ชั่น eval_r () สำหรับการดำเนินการดังแสดงใน:
var definest = "var number _"+i.toString (); eval_r (แน่นอน);
สิ่งนี้กำหนดตัวแปร คุณสามารถตั้งค่าดีบักเกอร์เพื่อติดตามและดีบักเพื่อดูว่าตัวแปรตัวเลขถูกกำหนดสำเร็จหรือไม่
หากค่า I คือ 1 ตัวแปรแบบไดนามิกคือ number_1
นอกจากนี้ยังสามารถกำหนดค่าในรูปแบบนี้ในอนาคต:
eval_r ("หมายเลข _"+i.toString ()+"= 120;");สิ่งนี้จะกำหนดค่าให้กับตัวแปร number_1 ถึง 120
แต่นี่ไม่ได้รับอนุญาตให้เขียนที่นี่:
eval_r ("หมายเลข _"+i.toString ()) = 120การเขียนแบบนี้มีอยู่ในข้อผิดพลาดของกฎหมาย
วิธีการเขียนข้างต้นค่อนข้างใช้งานไม่ได้ใน IE คุณต้องใช้ ExecuteScript (String) เพื่อดำเนินการ การตัดสินมีดังนี้:
if (window.executescript) {// ie windows browser.executecript (definestr);} else {// no no ie window browser.eval_r (definestr);}สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ JavaScript โปรดตรวจสอบหัวข้อพิเศษของไซต์นี้: "สรุปทักษะการดำเนินงาน AJAX ใน JavaScript", "บทสรุปของทักษะการดำเนินงาน JSON ใน JavaScript", "สรุปผลการสลับ JavaScript และเทคนิคการค้นหา JavaScript" เทคนิค "," สรุปโครงสร้างข้อมูล JavaScript และเทคนิคอัลกอริทึม "," บทสรุปของอัลกอริทึมและเทคนิคการสำรวจ JavaScript Traversal "และ" สรุปการใช้งานทางคณิตศาสตร์ JavaScript "
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน