อย่างไร !! ~ (ไม่ใช่เครื่องหมายทิลเดอร์ / แบงแบงทิลเดอร์) เปลี่ยนผลลัพธ์ของการเรียกเมธอดอาร์เรย์ 'มี / รวม' อย่างไร
หากคุณอ่านความคิดเห็นในinArrayหน้าjQuery ที่นี่มีคำประกาศที่น่าสนใจ: !!~jQuery.inArray(elm, arr) ตอนนี้ฉันเชื่อว่าเครื่องหมายอัศเจรีย์คู่จะแปลงผลลัพธ์เป็นประเภทbooleanโดยมีค่าเป็นtrue. สิ่งที่ฉันไม่เข้าใจคือการใช้ตัวดำเนินการ tilde ( ~) ทั้งหมดนี้คืออะไร? var arr = ["one", "two", "three"]; if (jQuery.inArray("one", arr) > -1) { alert("Found"); } การปรับโครงสร้างifคำสั่ง: if (!!~jQuery.inArray("one", arr)) { alert("Found"); } ทำให้พังถล่ม: jQuery.inArray("one", arr) // 0 ~jQuery.inArray("one", arr) // -1 (why?) !~jQuery.inArray("one", arr) // false !!~jQuery.inArray("one", arr) // true -2ฉันยังพบว่าถ้าฉันใส่ตัวหนอนในหน้าผลที่ได้คือ …