ผู้ที่รู้ JS รู้ว่ามีประเภทที่ใช้ในการตัดสินประเภทข้อมูลต่างๆ มีสองวิธีในการเขียน: typeof xxx, typeof (xxx)
ตัวอย่างต่อไปนี้:
Typeof 2 หมายเลขเอาต์พุต
Typeof Null Output Object
typeof {} วัตถุเอาต์พุต
typeof [] วัตถุเอาต์พุต
typeof (function () {}) ฟังก์ชันเอาต์พุต
typeof เอาต์พุตที่ไม่ได้กำหนดไม่ได้กำหนด
สตริงเอาท์พุท Typeof '222'
typeof true output boolean
ซึ่งรวมถึงห้าประเภทข้อมูลใน js หมายเลขสตริงบูลีน undefinedObject และฟังก์ชันประเภทฟังก์ชัน
หลังจากเห็นสิ่งนี้คุณจะถามอย่างแน่นอน: ฉันจะแยกแยะความแตกต่างระหว่างวัตถุอาร์เรย์และโมฆะได้อย่างไร?
ต่อไปเราจะใช้อาวุธอื่น: Object.prototype.toString.call
นี่คือฟังก์ชั่นการขยายต้นแบบดั้งเดิมของวัตถุที่ใช้เพื่อแยกความแตกต่างของชนิดข้อมูลที่แม่นยำยิ่งขึ้น
มาลองสนุก ๆ นี้:
var getType = object.prototype.toString
getType.call ('AAAA') เอาต์พุต [สตริงวัตถุ]
getType.call (2222) เอาต์พุต [หมายเลขวัตถุ]
getType.call (จริง) เอาต์พุต [วัตถุบูลีน]
getType.call (ไม่ได้กำหนด) เอาต์พุต [Object undefined]
getType.call (null) เอาต์พุต [Object Null]
getType.call ({}) เอาต์พุต [วัตถุวัตถุ]
getType.call ([]) เอาต์พุต [อาร์เรย์วัตถุ]
getType.call (function () {}) เอาต์พุต [ฟังก์ชันวัตถุ]
เมื่อเห็นสิ่งนี้เราได้แก้ไขปัญหาในตอนนี้
ในความเป็นจริงมีการตัดสินหลายประเภทใน JS
[Object Htmldivelement] Div Object
[Object htmlbodyelement] วัตถุร่างกาย
[เอกสารวัตถุ] (เช่น) หรือ
[Object Htmldocument] (Firefox, Google) ......
การตัดสินของโหนด DOM ต่างๆจะถูกใช้เมื่อเราเขียนปลั๊กอิน
วิธีการที่สามารถห่อหุ้มได้มีดังนี้:
var getType = object.prototype.toStringVar Utility = {isObject: function (o) {return getType.call (o) == "[วัตถุวัตถุ]"; }, isarray: ฟังก์ชัน (o) {return gettype.call (o) == "[อาร์เรย์วัตถุ]"; }, isnull: function (o) {return gettype.call (o) == "[object null]"; }, isDocument: function () {return gettype.call (o) == "[เอกสารวัตถุ]" || [Object Htmldocument]; -วิธีง่าย ๆ ข้างต้น (แนะนำ) สำหรับการตัดสินประเภทข้อมูลต่าง ๆ โดย JS เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น