ส่วนของเน้นเป็นแรงบันดาลใจหรือยืมมาจากโอลิเวอร์สตีลฟังก์ชั่น, และจอห์น prototype.js Resig ของไมโคร Templating
การสนับสนุนการเขียนโปรแกรมจะมีการเพิ่มฟังก์ชั่น แต่ไม่มีการขยายใด ๆ ในตัววัตถุ JavaScript
เน้นฟังก์ชั่นให้ 60 แปลกที่สนับสนุนทั้งผู้ต้องสงสัยการทำงานปกติ: แผนที่เลือกเรียกเป็นอันขาด เช่นเดียวกับผู้ช่วยเหลือพิเศษเพิ่มเติม: ฟังก์ชั่นที่มีผลผูกพัน, JavaScript แม่แบบทดสอบความเท่าเทียมกันลึกและอื่น ๆ มันได้รับมอบหมายให้สร้างขึ้นในฟังก์ชั่นถ้ามีเบราว์เซอร์ที่ทันสมัยเช่นนี้จะใช้การใช้งานที่เป็นชนพื้นเมืองของ forEach แผนที่ลดกรองทุกบางอย่างและ indexOf
พอร์ตของ Underscore.js ที่มีอยู่สำหรับ:
PHP
หลาม
Perl
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- เพิ่มวิธี _.create เป็น slimmed ลง รุ่นของ Object.create.
- การทำงานรอบข้อผิดพลาด iOS ที่ไม่ถูกต้องอาจทำให้เกิด isArrayLike จะเป็น JIT เอ็ด นอกจากนี้ยังมีการแก้ไขข้อผิดพลาดเมื่อผ่าน 0 ถึง isArrayLike.
มีอะไรใหม่ ในรุ่น 1.8.2:
- แก้ไข / เปลี่ยนแปลงบางเก่าอินเทอร์เน็ต Explorer และ พฤติกรรมที่เกี่ยวข้องกับกรณีขอบ.
สิ่งที่ใหม่ ในรุ่น 1.7.0:
- สำหรับความสอดคล้องและความเร็วในเบราว์เซอร์, เน้นตอนนี้ไม่สนใจ วิธีการอาร์เรย์พื้นเมืองสำหรับ forEach แผนที่ลด reduceRight กรองทุกบาง indexOf และ lastIndexOf & quot; เบาบาง & quot; อาร์เรย์ตายอย่างเป็นทางการในการเน้น.
- เพิ่ม _.iteratee ในการปรับแต่ง iterators โดยใช้ฟังก์ชั่นคอลเลกชัน เน้นวิธีการหลายคนจะใช้อาร์กิวเมนต์สตริงสำหรับการค้นหาง่ายขึ้น _.property สไตล์วัตถุสำหรับการกรอง _.where สไตล์หรือฟังก์ชั่นเป็นโทรกลับที่กำหนดเอง.
- เพิ่ม _.before เป็นคู่ที่จะ _.after.
- เพิ่ม _.negate จะกลับค่าความจริงของคำกริยาผ่านใน.
- เพิ่ม _.noop เป็นหน้าที่ยึดที่ว่างเปล่าประโยชน์.
- _. isEmpty ตอนนี้ทำงานกับวัตถุข้อโต้แย้ง.
- _. ได้ตอนนี้ป้องกันการเกิดวัตถุ nullish.
- วิธีการเช่นฐานแทนที่แต่ละคนและบางคนและพวกเขาจะนำมาใช้ภายในโดยเน้นฟังก์ชั่นอื่น ๆ ด้วย.
- ฟังก์ชั่นการหลบหนีจัดการ backticks (`) เพื่อจัดการกับ IE ≤ 8 ข้อผิดพลาด.
- สำหรับความสอดคล้อง _.union และ _.difference ตอนนี้ทำงานกับอาร์เรย์และไม่ args variadic.
- _. memoize exposes แคชของค่า memoized เป็นทรัพย์สินในฟังก์ชั่นกลับมา.
- _. เลือกรับ iteratee และข้อโต้แย้งบริบทสำหรับการเรียกกลับที่สูงขึ้น.
- เน้นแม่ไม่ยอมรับวัตถุข้อมูลเบื้องต้น _.template เสมอกลับฟังก์ชั่นในขณะนี้.
มีอะไรใหม่ ในรุ่น 1.5.0:
- แผนที่แหล่งที่มาให้บริการในขณะนี้สำหรับการแก้จุดบกพร่องได้ง่ายขึ้น การสร้างการผลิตของ minified เน้น.
- ฟังก์ชั่นเริ่มต้นตอนนี้เหลือเพียงแทนที่ค่าไม่ได้กำหนดไม่ได้คน null.
- ลบความสามารถในการเรียก _.bindAll กับการขัดแย้งชื่อวิธีไม่มี มันสวยมากมักจะฉลาดในรายการสีขาวชื่อของวิธีการที่คุณต้องการที่จะผูก.
- ลบความสามารถในการเรียก _.after กับนับอุทธรณ์ของศูนย์ จำนวนขั้นต่ำของสายคือ (ตามธรรมชาติ) ขณะนี้ 1.
มีอะไรใหม่ ในรุ่น 1.4.4:
- เพิ่ม _.findWhere สำหรับการหาองค์ประกอบแรก ในรายการที่ตรงกับการตั้งค่าเฉพาะของคีย์และค่า.
- เพิ่ม _.partial สำหรับบางส่วนใช้ฟังก์ชั่นโดยไม่ต้องเปลี่ยนการอ้างอิงแบบไดนามิกนี้.
- ผูกแบบง่ายโดยการเอาบางกรณีที่เกี่ยวข้องกับขอบฟังก์ชั่นคอนสตรัค ในระยะสั้น:. ไม่ _.bind ก่อสร้างของคุณ
- การเพิ่มประสิทธิภาพของเล็กน้อยที่จะเรียก.
- แก้ไขข้อผิดพลาดในรุ่น minified เนื่องจากการเพิ่มประสิทธิภาพ minifier ไม่ถูกต้องออกไป isFunction.
มีอะไรใหม่ ในรุ่น 1.4.3:
- เพิ่ม iterator _.identity เริ่มต้นและ countBy groupby.
- ฟังก์ชั่น UNIQ ขณะนี้สามารถใช้อาร์เรย์ iterator บริบทเป็นรายการอาร์กิวเมนต์.
- เวลาทำงานในขณะนี้จะส่งกลับอาร์เรย์แมปผล iterator.
- ประยุกต์และข้อบกพร่องการแก้ไขในเค้น.
มีอะไรใหม่ ในรุ่น 1.4.2:
- สำหรับการทำงานร่วมกันหลังกลับไปก่อน 1.4 0 พฤติกรรมเมื่อผ่าน null ฟังก์ชั่นการทำซ้ำ ตอนนี้พวกเขากลายเป็นไม่มีปฏิบัติการอีกครั้ง.
มีอะไรใหม่ ในรุ่น 1.4.0:
- เพิ่มฟังก์ชั่นคู่สำหรับการเปิดใช้งาน JavaScript วัตถุ เข้า [สำคัญค่า] คู่ ... เช่นเดียวกับฟังก์ชั่นวัตถุสำหรับการแปลงอาร์เรย์ของ [ที่สำคัญค่า] คู่เป็นวัตถุ.
- เพิ่มฟังก์ชั่น countBy สำหรับการนับจำนวนของวัตถุที่อยู่ในรายชื่อที่ตรงกับเกณฑ์ที่แน่นอน.
- เพิ่มฟังก์ชั่นสลับ, สำหรับการดำเนินการผกผันที่เรียบง่ายของคีย์และค่านิยมในวัตถุ.
- เพิ่มที่ฟังก์ชั่นสำหรับกรณีที่ง่ายของการกรองรายการสำหรับวัตถุที่มีค่าเฉพาะ.
- เพิ่มฟังก์ชั่นงดสำหรับการกรองวัตถุที่จะลบคีย์บางอย่าง.
- เพิ่มฟังก์ชั่นแบบสุ่มเพื่อกลับจำนวนสุ่มในช่วงที่กำหนด.
- _. ฟังก์ชั่น debounce'd ตอนนี้กลับค่าปรับปรุงล่าสุดของพวกเขาเช่นเดียวกับฟังก์ชั่น _.throttle'd ทำ.
- ฟังก์ชั่น SortBy ตอนนี้ทำงานขั้นตอนวิธีการจัดเรียงที่มีเสถียรภาพ.
- เพิ่มตัวเลือกตัวเลือกที่จะ fromIndex indexOf และ lastIndexOf.
- & quot; เบาบาง & quot; อาร์เรย์ได้รับการสนับสนุนไม่ได้อยู่ในฟังก์ชั่นเน้นย้ำ ใช้สำหรับแทน (หรือดีกว่ายังวัตถุ).
- นาทีและฟังก์ชั่นสูงสุดในขณะนี้อาจจะเรียกว่าในอาร์เรย์มีขนาดใหญ่มาก.
- การแก้ไขในขณะนี้เป็นแม่แบบโมฆะและไม่ได้กำหนดเป็นสตริงที่ว่างเปล่า.
มีอะไรใหม่ ในรุ่น 1.3.2:
- เพิ่มฟังก์ชั่นเลือกซึ่งจะช่วยให้คุณสามารถกรอง วัตถุที่แท้จริงกับรายการที่อนุญาตของชื่อสถานที่ให้บริการที่ได้รับอนุญาต.
- เพิ่มฟังก์ชั่นผลเพื่อความสะดวกเมื่อทำงานกับ APIs ที่ช่วยให้ทั้งฟังก์ชั่นหรือคุณสมบัติดิบ.
- เพิ่มฟังก์ชั่น isFinite เพราะบางครั้งรู้ว่าค่าเป็นจำนวนเพียงไม่เพียงพอค่อนข้าง.
- ฟังก์ชั่น SortBy ตอนนี้อาจถูกส่งผ่านไปยังชื่อสตริงของทรัพย์สินที่จะใช้เป็นลำดับการจัดเรียงในแต่ละวัตถุ.
- UNIQ คงที่จะทำงานร่วมกับอาร์เรย์เบาบาง.
- ฟังก์ชั่นที่แตกต่างกันในขณะนี้ดำเนินการตื้นแผ่แทนลึกหนึ่งเมื่อคำนวณความแตกต่างอาร์เรย์.
- ฟังก์ชั่น debounce ตอนนี้ใช้เวลาพารามิเตอร์ทันทีซึ่งจะทำให้เกิดการเรียกกลับยิงชั้นนำแทนขอบ.
มีอะไรใหม่ ในรุ่น 1.3.1:
- เพิ่มฟังก์ชั่น _.has เป็นที่ปลอดภัย วิธีการใช้ hasOwnProperty.
- เพิ่ม _.collect เป็นนามแฝงสำหรับ _.map Smalltalkers ชื่นชมยินดี.
- หวนกลับเปลี่ยนแปลงเก่าเพื่อให้ _.extend อย่างถูกต้องจะคัดลอกกุญแจที่มีค่าไม่ได้กำหนดอีกครั้ง.
- แก้ไขข้อผิดพลาดที่จะหยุดการหลบหนีทับภายใน interpolations ใน _.template.
มีอะไรใหม่ ในรุ่น 1.3.0:.
- ลบเอเอ็มดี (RequireJS) เน้นการสนับสนุนจาก
มีอะไรใหม่ ในรุ่น 1.2.4:
- สามารถ (และอาจจะ) เขียน _.chain (รายชื่อ) แทน _ (รายการ) .chain ().
- แก้ไขตัวละครหนีเน้นแม่แบบและเพื่อรองรับการปรับแต่งของ _.templateSettings กำหนดว่ามีเพียงหนึ่งหรือสองของ regexes ต้อง.
- การแก้ไขปัญหาสำหรับการส่งผ่านอาร์เรย์เป็นอาร์กิวเมนต์แรกที่ฟังก์ชั่น _.wrap'd.
- ปรับปรุงความเข้ากันได้กับ ClojureScript ซึ่งจะเพิ่มฟังก์ชั่นการเรียกร้องให้ String.prototype.
สิ่งที่ใหม่ ในรุ่น 1.2.3:
- ขอบเขตแบบไดนามิกจะถูกรักษาไว้ในขณะนี้สำหรับ _.template รวบรวม ฟังก์ชั่นเพื่อให้คุณสามารถใช้ค่านี้หากคุณต้องการ.
- การสนับสนุนอาร์เรย์เบาบางของ _.indexOf, _.lastIndexOf.
- ทั้ง _.reduce _.reduceRight และขณะนี้สามารถส่งผ่านค่าไม่ได้กำหนดอย่างชัดเจน.
มีอะไรใหม่ ในรุ่น 1.2.2:
- อย่างต่อเนื่องปรับแต่งเพื่อความหมาย _.isEqual ตอนนี้วิทยาการ JS จะถือว่าเทียบเท่ากับรุ่นห่อของพวกเขาและอาร์เรย์จะเปรียบเทียบคุณสมบัติโดยตัวเลขของพวกเขาเท่านั้น.
- _. หลบหนีไม่ได้พยายามที่จะเป็นสมาร์ทเกี่ยวกับการที่ไม่หนีคู่แล้วหนีหน่วยงาน HTML ตอนนี้มันก็หนีออกมาโดยไม่คำนึงถึง.
- ใน _.template ตอนนี้คุณอาจจะออกจากอัฒภาคจากงบการประเมินหากคุณต้องการ: & # x3c;}%)% & # x3e; .
- _ หลัง (โทรกลับ, 0) ในขณะนี้จะทำให้เกิดการเรียกกลับทันทีทำให้ & quot;. หลังจากที่ & quot; ง่ายต่อการใช้งานร่วมกับ APIs ไม่ตรงกัน.
มีอะไรใหม่ ในรุ่น 1.2.1:
- การแก้ไขข้อบกพร่องที่สำคัญหลาย _.isEqual ซึ่ง ตอนนี้ควรจะทำอย่างไรดีขึ้นในอาร์เรย์กลายพันธุ์และที่ไม่ใช่อาร์เรย์วัตถุที่มีคุณสมบัติที่มีความยาว.
- สามารถตอนนี้ _.groupBy (รายการ 'คุณสมบัติ') เป็นทางลัดสำหรับการจัดกลุ่มโดยค่าสถานที่ให้บริการร่วมกันโดยเฉพาะอย่างยิ่ง.
- _. ฟังก์ชั่นในขณะนี้ throttle'd ยิงทันทีที่ภาวนาและมีอัตราการ จำกัด หลังจากนั้น.
- ส่วนใหญ่ _.is [Type] ตรวจสอบไม่ ducktype.
- ฟังก์ชั่น _.bind ตอนนี้ยังทำงานในการก่อสร้าง,-la ES5 ... แต่คุณจะไม่ต้องการที่จะใช้ฟังก์ชั่นใน _.bind คอนสตรัค.
- _. โคลนไม่ตัดชนิดที่ไม่ใช่วัตถุในวัตถุ.
- _. ค้นหาและ _.filter ตอนนี้ชื่อที่ต้องการสำหรับ _.detect และ _.select.
มีอะไรใหม่ ในรุ่น 1.2.0:
- ฟังก์ชั่น _.isEqual ขณะนี้สนับสนุนความเท่าเทียมกันลึกที่แท้จริง เปรียบเทียบกับการตรวจสอบโครงสร้างวงจรขอบคุณกับ Kit เคมบริดจ์.
- แม่แบบเน้นในขณะนี้สนับสนุน HTML หนี interpolations ใช้ & # x3c;% - ... % & # x3e; ไวยากรณ์.
- ไรอัน Tenney มีส่วน _.shuffle ซึ่งใช้การแก้ไข Fisher-เยตส์เพื่อให้คุณมีสำเนาสับของอาร์เรย์.
- _. UNIQ ในขณะนี้สามารถส่งผ่าน iterator ตัวเลือกในการตรวจสอบโดยใช้เงื่อนไขวัตถุควรได้รับการพิจารณาที่ไม่ซ้ำกัน.
- _. ตอนนี้ใช้เวลานานอาร์กิวเมนต์ตัวเลือกที่จะกลับมาไม่มีองค์ประกอบสุดท้ายของรายการ.
- ฟังก์ชั่น _.initial ใหม่เพิ่มเป็นกระจกของ _.rest ซึ่งผลตอบแทนทั้งหมดที่ค่าเริ่มต้นของรายการ (ยกเว้นสุดท้าย N).
มีอะไรใหม่ ในรุ่น 1.1.7:
- เพิ่ม _.groupBy ซึ่งรวบรวมคอลเลกชันลงไป กลุ่มเช่นรายการ.
- เพิ่ม _.union และ _.difference เพื่อเสริม (อีกชื่อ) _.intersection.
- การปรับปรุงต่างๆสำหรับการสนับสนุนของอาร์เรย์เบาบาง _.toArray ตอนนี้กลับโคลนถ้าโดยตรงผ่านอาร์เรย์ _.functions ตอนนี้ยังกลับชื่อของฟังก์ชั่นที่มีอยู่ในห่วงโซ่ต้นแบบ.
มีอะไรใหม่ ในรุ่น 1.1.6:
- เพิ่ม _.after ซึ่งจะกลับมาฟังก์ชั่น ที่จะทำงานเป็นครั้งแรกหลังจากที่ถูกเรียกว่าเป็นจำนวนครั้งที่กำหนดไว้ _.invoke ขณะนี้สามารถใช้ฟังก์ชั่นการอ้างอิงโดยตรง _.every ตอนนี้ต้องฟังก์ชั่น iterator ที่จะผ่านซึ่งสะท้อน ECMA5 API _.extend ไม่มีสำเนากุญแจอีกต่อไปเมื่อมีค่าเป็นไม่ได้กำหนด _.bind ข้อผิดพลาดในขณะนี้เมื่อพยายามที่จะผูกค่าไม่ได้กำหนด.
มีอะไรใหม่ ในรุ่น 1.1.4:
- การปฏิบัติที่ดีขึ้นด้วยวิธีการอาร์เรย์ ES5 เมื่อผ่านเป็นโมฆะ ค่า _.wrap ในขณะนี้ได้อย่างถูกต้องชุดนี้ฟังก์ชั่นห่อ ตอนนี้ใช้เวลา _.indexOf ธงเป็นตัวเลือกสำหรับการหาดัชนีแทรกในอาร์เรย์ที่รับประกันว่าจะถูกจัดเรียงอยู่แล้ว.
- หลีกเลี่ยงการใช้ .callee เพื่อให้ _.isArray ทำงานอย่างถูกต้องในโหมดที่เข้มงวดของ ES5.
มีอะไรใหม่ ในรุ่น 1.1.3:
- ใน CommonJS, เน้นในขณะนี้อาจจะต้องมีเพียง
- var = _ ต้อง (& quot; ขีด & quot;) เพิ่ม _.throttle และฟังก์ชั่ _.debounce.
- ลบ _.breakLoop ในความโปรดปรานของ ECMA5 สไตล์ยกเลิกการแบ่งการดำเนินงานแต่ละสามารถ - นี้เอาลอง / จับและตอนนี้คุณจะมีร่องรอยสแต็คที่ดีกว่าสำหรับข้อยกเว้นที่จะโยนภายในเน้น iterator ปรับปรุง isType ครอบครัวของฟังก์ชั่นสำหรับการทำงานร่วมกันที่ดีขึ้นกับ Internet Explorer วัตถุโฮสต์ _.template ในขณะนี้ได้อย่างถูกต้องหนี backslashes ในแม่แบบ ปรับปรุงความเข้ากันได้ _.reduce กับรุ่น ECMA5: ถ้าคุณไม่ผ่านค่าเริ่มต้นที่รายการแรกในคอลเลกชันที่มีการใช้ _.each ไม่กลับซ้ำคอลเลกชัน, เพื่อความมั่นคงที่ดีขึ้นกับ forEach ECMA5 ของ.
มีอะไรใหม่ ในรุ่น 1.0.4:
- _ memoize ฟังก์ชั่นที่สามารถใช้ในการ. เพิ่มความเร็วในการคำนวณซ้ำแพงแคชผล.
มีอะไรใหม่ ในรุ่น 1.0.2:.
- _.isArguments คงที่สำหรับโอเปร่า
ความคิดเห็นที่ไม่พบ