1. 程式人生 > >Underscore——JS函數庫

Underscore——JS函數庫

pre ons das 特性 問題 了解 asc spa 參數

轉載請註明原文地址:https://www.cnblogs.com/ygj0930/p/10826065.html

underscore是什麽——它是一個js函數庫

jQuery統一了不同瀏覽器之間的DOM操作的差異,讓我們可以簡單地對DOM進行操作,而underscore則提供了一套完善的函數接口,讓我們更方便地在JavaScript中實現函數式編程。

Underscore.js是一個很精幹的庫,壓縮後只有6KB,它提供了100多個函數,彌補了js標準庫的不足,包括常用的: map, filter, invoke,函數綁定, JavaScript模板功能,創建快速索引, 強類型相等測試等等。

這些方法大致上可以分成:集合類操作函數(collection)、數組操作函數(array)、高階函數(function)、對象操作函數(object)和工具函數(utility)五大類。

underscore怎麽用

jQuery在加載時,會把自身綁定到唯一的全局變量$上,underscore與其類似,會把自身綁定到唯一的全局變量_上,這也是為啥它的名字叫underscore(下劃線)的原因。

Underscor.js定義了一個下劃線(_)對象,函數庫的所有方法都屬於這個對象

$(選擇器)操作DOM,而_.fun()調用函數。

一:Collections操作函數

underscore為集合類對象提供了一致的接口。集合類是指Array和Object,暫不支持Map和Set。

技術分享圖片

二:Arrays操作函數

underscore為Array提供了許多工具類方法,可以更方便快捷地操作Array

技術分享圖片

三:Functions高階函數

提供了大量JavaScript本身沒有的高階函數。

技術分享圖片

綁定運行環境和參數

在不同的運行環境下,javaScript函數內部的變量所在的上下文是不同的。這種特性會給程序帶來不確定性,為了解決這個問題,Underscore.js提供了兩個方法,用來給函數綁定上下文。

bind:十分強大,用的比較多

_.bind(function, object, *arguments) 

綁定函數 function 到對象 object 上, 也就是無論何時調用函數, 函數裏的 this 都指向這個 object.

無論何時調用該函數, 函數裏的 this 都指向這個 object。

四:Objects操作函數

提供了大量針對Object的函數。

技術分享圖片

五:實用功能

技術分享圖片

六:Chaining鏈式語法

技術分享圖片

Underscore——JS函數庫