เมื่อเร็ว ๆ นี้ฉันได้ทำโครงการที่เกี่ยวข้องกับการประมวลผล JS เพื่อกำหนดชนิดข้อมูลค้นหาข้อมูลที่เกี่ยวข้องออนไลน์และทดสอบการตัดสินของประเภทข้อมูลที่หลากหลายซึ่งปลอดภัยอย่างแน่นอน ด้านล่างตัวแก้ไขจะแบ่งปันเนื้อหาเฉพาะกับคุณสำหรับการอ้างอิงของคุณ!
1. ประเภทข้อมูลใน JS
1. ประเภทตัวเลข (หมายเลข): รวมจำนวนเต็มและหมายเลขจุดลอยตัว
2. บูลีน
3. ประเภทสตริง
4. วัตถุ
5. นำ
6. ค่า NULL (NULL)
7. ไม่ได้กำหนด
2. กำหนดประเภทข้อมูลของตัวแปร
1. ประเภทจำนวน (หมายเลข)
วิธีการตัดสินที่ใช้กันมากที่สุดคือ:
ฟังก์ชั่น isNumber (val) {return typeof val === 'number';}แต่บางสถานการณ์ไม่ทำงานเช่น:
var a; การแจ้งเตือน (iSnumber (parseint (a)));
สิ่งที่ปรากฏขึ้นที่นี่เป็นจริงดังที่แสดงในรูปด้านล่าง:
แต่ในความเป็นจริงตัวแปร A คือ NAN ซึ่งไม่สามารถใช้สำหรับการดำเนินการเชิงตัวเลข
ดังนั้นฟังก์ชันข้างต้นสามารถแก้ไขได้เป็น:
ฟังก์ชั่น ISNUMBER (val) {return typeof val === 'number' && isfinite (val);}หลังจากการแก้ไขแล้วเท็จจะปรากฏขึ้นดังที่แสดงในรูปด้านล่าง:
อย่างไรก็ตามฟังก์ชั่น JavaScript isfinite () ใช้เพื่อตรวจสอบว่าพารามิเตอร์ของมันไม่มีที่สิ้นสุดหรือไม่ หากหมายเลขเป็นจำนวน จำกัด (หรือสามารถแปลงเป็นหมายเลข จำกัด ) ให้ส่งคืนจริง มิฉะนั้นหากตัวเลขเป็น NAN (ไม่ใช่หมายเลข) หรือหมายเลขอินฟินิตี้บวกหรือเชิงลบจะส่งคืนเท็จ
2. บูลีน
การตัดสินประเภทบูลีนนั้นค่อนข้างง่ายและคุณสามารถใช้วิธีการต่อไปนี้เพื่อทำการตัดสิน:
/*ตัดสินว่า Val ตัวแปรเป็นประเภทบูลีน*/ฟังก์ชั่น isBooleAntype (val) {return typeof val === "boolean";}รหัสทดสอบ:
<script type = "text/javascript">/*ตัดสินว่า val ตัวแปรเป็นประเภทบูลีน*/ฟังก์ชั่น isbooleantype (val) {return typeof val === "boolean";} var a; var b = false; การแจ้งเตือน ( "+IsbooleAntype (b)); </script>ผลการทำงาน:
3. สตริง
การตัดสินประเภทสตริงนั้นค่อนข้างง่ายและคุณสามารถใช้วิธีการต่อไปนี้เพื่อทำการตัดสิน:
/*ตัดสินว่าตัวแปรเป็นประเภทสตริง*/ฟังก์ชัน isstringType (val) {return typeof val === "String";}รหัสทดสอบ:
<script type = "text/javascript">/*ตัดสินว่าตัวแปรเป็นประเภทสตริง*/ฟังก์ชั่น isstringtype (val) {return typeof val === "String";} var a; var s = "strtype"; การแจ้งเตือน ( "+isstringType (s)); </script>ผลการทำงาน:
4. ไม่ได้กำหนด
การตัดสินที่ไม่ได้กำหนดนั้นค่อนข้างง่ายและสามารถตัดสินได้ด้วยวิธีการต่อไปนี้:
/*ตัดสินว่าตัวแปรนั้นไม่ได้กำหนด*/ฟังก์ชัน isundefined (val) {return typeof val === "undefined";}รหัสทดสอบ:
<script type = "text/javascript"> var a; // a เป็น undefinedvar s = "strtype";/*ตัดสินว่าตัวแปรนั้นไม่ได้กำหนด*/ฟังก์ชั่น isundefined (val) {return typeof val === "undefined"; "+isundefined (s)); </script>ผลการทำงาน:
5. วัตถุ
เนื่องจากเมื่อตัวแปรเป็นโมฆะ TypeoF จะส่งคืนวัตถุด้วยเช่นกันวัตถุไม่สามารถตัดสินได้โดยตรงด้วย typeof
มันควรจะเป็นเช่นนี้:
ฟังก์ชั่น isobj (str) {ถ้า (str === null || typeof str === 'undefined') {return false;} return typeof str === 'Object';}รหัสทดสอบ:
<script type = "text/javascript">/*ตัดสินว่าตัวแปรเป็นประเภทวัตถุ*/ฟังก์ชัน isobj (str) {ถ้า (str === null || typeof str === 'undefined') {return false;} return typeof str === 'object'; null, typeof b === 'Object' '' ผลการตัดสินคือ: "+(typeof b === 'object')); แจ้งเตือน (" ผลการตัดสินของตัวแปร A คือประเภทวัตถุ: "+isobj (a)); // falsealert (" ผลการตัดสินของตัวแปร B คือประเภทวัตถุ: " "+isobj (c)); // falsealert (" ผลการตัดสินของตัวแปร d คือประเภทวัตถุ: "+isobj (d)); // truealert (" ผลการตัดสินของตัวแปร e คือประเภทวัตถุ: "+isobj (e)); // true </script>ผลการทำงาน:
6. ค่า NULL (NULL)
เพียงแค่ใช้ val === null เพื่อกำหนดค่า null
ฟังก์ชั่น isnull (val) {return val === null;}รหัสทดสอบ:
/*ตัดสินว่าตัวแปรเป็น null*/function isnull (val) {return val === null;}/*ทดสอบตัวแปร*/var a; var b = null; var c = "str"; // ป๊อปอัพการแจ้งเตือนการเรียกใช้ ("ผลการตัดสินของตัวแปร A "+isnull (b)); // truealert (" ผลการตัดสินของตัวแปร c คือประเภทโมฆะคือ: "+isnull (c)); // falseผลการทำงาน:
7. อาเรย์
ประเภทอาร์เรย์ไม่สามารถตัดสินได้โดย typeof เพราะเมื่อตัวแปรเป็นประเภทอาร์เรย์ Typeof จะส่งคืนวัตถุ
นี่คือสองวิธีในการกำหนดประเภทอาร์เรย์:
/*ตัดสินว่าตัวแปร arr เป็นวิธีอาร์เรย์ 1*/ฟังก์ชั่น isarray (arr) {return object.prototype.toString.apply (arr) === '[อาร์เรย์วัตถุ]';}/*ตัดสินว่าตัวแปร arr เป็น array array 'array' === อาร์เรย์;}รหัสทดสอบ:
<script type = "text/javascript">/*ตัดสินว่าตัวแปร arr เป็นวิธีอาร์เรย์ 1*/ฟังก์ชั่น isarray (arr) {return object.prototype.toString.apply (arr) === '[อาร์เรย์วัตถุ]'; 'undefined') {return false;} return arr.constructor === array;} // ทดสอบตัวแปร var a = null; var b = ""; var c; var arr = [,,]; var arr = new Array (); // พิมพ์เอกสารผลการทดสอบ 'Object')); document.write ("<br/>"); document.write ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - t.write ("<br/>"); document.write ("ผลลัพธ์ของการตัดสินว่าตัวแปร A คือประเภทอาร์เรย์คือ:"+isarray (a)); document.write ("<br/>"); document.write ("ผลลัพธ์ของการตัดสินที่ตัวแปร B คือประเภท คลาสผลการตัดสินของประเภทคือ: "+isarray (c)); document.write (" <br/> "); document.write (" ผลการตัดสินของตัวแปร arr เป็นประเภทอาร์เรย์คือ: "+isarray (arr)); document.write (" <br/> "); document.write ( รายการ ("<br/>"); document.write ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ent.write ("ผลการตัดสินของตัวแปร A คือประเภทอาร์เรย์คือ:"+isarray (a)); document.write ("<br/>"); document.write ("ผลการตัดสินของตัวแปร B คือประเภทอาร์เรย์คือ:" Isarray (b)); "+isarray (c)); document.write (" <br/> "); document.write (" ผลลัพธ์ของการตัดสินว่าตัวแปร arr เป็นประเภทอาร์เรย์คือ: "+isarray (arr)); document.write (" <br/> "); "+isarray (arr)); document.write (" <br/> "); </script>ผลการทำงาน:
เนื้อหาข้างต้นเป็นบทสรุปของจุดความรู้ JavaScript (VI) ของชนิดข้อมูลตัวแปร JavaScript ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณต้องการทราบข้อมูลเพิ่มเติมโปรดใส่ใจกับเว็บไซต์ Wulin.com!