ฉันเพิ่งเริ่มที่จะเรียนรู้ JavaScript และสะดุดUnderscore.jsและjQuery ขีดล่างดูดีมาก แต่ฉันสงสัยว่า jQuery ยังไม่มีฟังก์ชันที่คล้ายกับขีดล่าง แล้วมันคุ้มไหมที่จะใช้ทั้งสองอย่าง?
ฉันเพิ่งเริ่มที่จะเรียนรู้ JavaScript และสะดุดUnderscore.jsและjQuery ขีดล่างดูดีมาก แต่ฉันสงสัยว่า jQuery ยังไม่มีฟังก์ชันที่คล้ายกับขีดล่าง แล้วมันคุ้มไหมที่จะใช้ทั้งสองอย่าง?
คำตอบ:
ขีดล่างมีฟังก์ชันทั้งหมด 60 ฟังก์ชันสำหรับการประมวลผลข้อมูล / รหัส เป็นที่ตกลงกันว่าฟังก์ชันหลายอย่างมีอยู่ในไลบรารีอื่น ๆ เช่น jQuery, Prototype หรือ script.aculo.us ตัวอย่างเช่นฟังก์ชั่นเช่น each, map, find, filter หรือ toArray มีอยู่ใน jQuery ซึ่งอยู่ในเครื่องหมายขีดล่างด้วย นี่คือการทำให้ไลบรารีเป็นอิสระจาก jQuery
ควรใช้ขีดล่างเมื่อใด:
ปัจจุบันมีการใช้ Backbone.js อย่างแพร่หลายในการใช้สถาปัตยกรรม MVC สำหรับสร้างเว็บแอป Javascript แบบหน้าเดียว ความสามารถที่สำคัญที่สุดของ underscore.js คือความสามารถในการสร้างเทมเพลต (ซึ่ง jQuery ไม่สามารถทำได้) ไลบรารีนี้มีฟังก์ชันที่มีประโยชน์อื่น ๆ อีกมากมายซึ่งไม่ขึ้นอยู่กับไลบรารี Javascript อื่น ๆ
ค้นหาด้านล่างรายการฟังก์ชันที่มีให้โดยขีดล่าง:
คอลเลกชัน: แต่ละแผนที่ลดลดขวาค้นหากรองปฏิเสธทั้งหมดใด ๆ รวมเรียกถอนสูงสุดขั้นต่ำ sortBy groupBy sortedIndex สับเปลี่ยน toArray ขนาด
อาร์เรย์: แรกเริ่มต้นสุดท้ายส่วนที่เหลือกระชับแบนโดยไม่ต้องสหภาพจุดตัดความแตกต่าง uniq ซิป indexOf lastIndexOf ช่วง
ฟังก์ชัน: ผูก, bindAll, บันทึก, หน่วงเวลา, เลื่อน, เค้น, debounce, ครั้งเดียว, หลังจาก, ห่อ, เขียน
วัตถุ: คีย์ค่าฟังก์ชันขยายค่าเริ่มต้นโคลนแตะ isEqual isEmpty isElement isArray isArguments isFunction isString isNumber isBoolean isDate isRegExp isNaN isNull isUndefined
Utitity: noConflict, identity, times, mixin, uniqueId, escape, template
หากคุณกังวลเกี่ยวกับการทับซ้อนกันและไม่ต้องการสิ่งต่างๆเช่น JQuery AJAX คุณอาจพิจารณาใช้เพียงเครื่องมือเลือก JQuery ชื่อ Sizzle
โปรดทราบว่านี่ไม่ใช่สำหรับทุกโครงการการใช้ Sizzle และ Underscore คุณจะสูญเสียฟังก์ชัน JQuery บางอย่าง (เช่น AJAX) คุณต้องพิจารณาสิ่งที่คุณต้องการสำหรับแอปพลิเคชันเฉพาะของคุณ