ใช้ความคิดเห็นแบบมีเงื่อนไขเพื่อกำหนดเวอร์ชันของ IE มีคนเสนอก่อน แต่ไม่ได้ดูรหัสอย่างระมัดระวัง ฉันบังเอิญเห็นมันเมื่อฉันดู CSS3 พายเมื่อวานนี้และฉันคิดว่ามันไม่น่าเชื่อถือ ฉันยังพูดถึงมันในวันนี้โดย Paul Irish ดังนั้นฉันจึงแนะนำ สิ่งนี้เขียนไว้ในบล็อกของผู้แต่ง:
การคัดลอกรหัสมีดังนี้:
-
// ตัวอย่างสั้น ๆ สำหรับการตรวจจับเวอร์ชันของ IE ใน JavaScript
// โดยไม่ต้องหันไปดมกลิ่นผู้ใช้
-
// ถ้าคุณไม่ได้อยู่ใน IE (หรือเวอร์ชันเช่นน้อยกว่า 5) แล้ว:
// ie === ไม่ได้กำหนด
// ถ้าคุณอยู่ใน IE (> = 5) คุณสามารถกำหนดเวอร์ชันใด:
// ie === 7; // ie7
// ดังนั้นเพื่อตรวจจับ IE:
// ถ้า (เช่น) {}
// และตรวจจับเวอร์ชัน:
// ie === 6 // ie6
// เช่น> 7 // ie8, ie9 ...
// เช่น <9 // อะไรที่น้อยกว่า IE9
-
// อัปเดต: ตอนนี้ใช้ไอเดีย Live Nodelist จาก @Jdalton
var ie = (function () {
var undef,
V = 3,
div = document.createElement ('div')
ทั้งหมด = div.getElementsByTagname ('i');
ในขณะที่ (
div.innerhtml = '<!-[ถ้า gt ie' + (++ v) + ']> <i> </i> <! [endif]->',,
ทั้งหมด [0]
-
กลับ v> 4? V: undef;
-
ให้ความสนใจกับสิ่งนี้ในขณะที่คำสั่ง มันคือสิ่งที่ฉันพบว่าน่าสนใจที่สุด สำหรับผู้ดำเนินการเครื่องหมายจุลภาค ฉันไม่คุ้นเคยกับมันและฉันก็ติดอยู่กับการใช้คำจำกัดความของตัวแปร ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
var a = 'b', c = 'd', e = 'f';
var obj = {
A: 'B',
ซีดี',
E: 'F'
-
ฉันถามเพื่อนร่วมงาน @KangPangpang และตรวจสอบหนังสืออีกครั้ง ที่จริงแล้วนี่ค่อนข้างหายาก โดยปกติค่าสุดท้ายจะถูกส่งคืน
การคัดลอกรหัสมีดังนี้:
var a = (1,2,3,5,6,0,9,4); // a === 4
นั่นอาจเป็นได้ น่าสนใจมาก