国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
鑰匙要點
Spotify Web API
config Module
首頁 web前端 js教程 開始使用下劃線

開始使用下劃線

Feb 18, 2025 pm 12:10 PM

Getting Started with Underscore.js

開始使用下劃線

鑰匙要點

  • underscore.js是一個JavaScript庫,為各種用例提供??功能性實用程序,使代碼更易於讀寫,並且在本機JavaScript中不總是可用的功能。
  • >
  • 庫包括用於編寫可讀循環(huán)的常見方法,例如_.each(),_.template()用於直觀和直接的模板,以及_.filter()用於使用boolean函數(shù)過濾數(shù)組的_ .filter()。
  • underscore.js輕巧,並由許多大牌項目使用,包括《今日美國》,《 LinkedIn》和《汗學(xué)院》。
  • >使用unterscore.js,jQuery和Spotify Web API的演示應(yīng)用程序演示瞭如何使用庫從API獲取和顯示數(shù)據(jù),並允許用戶過濾結(jié)果。
本文由Agbonghama Collins和Ryan Chenkie進行了同行評審。感謝SitePoint所有的同行評審員製作SitePoint內(nèi)容的最佳狀態(tài)!

underscore.js是由Jeremy Ashkenas撰寫的JavaScript庫,為各種用例提供??了功能性實用程序,我們作為開發(fā)人員在面對Web項目時可能會遇到這些用例。 > 它製作的代碼更容易閱讀:

>

它使代碼更易於編寫:

>

_.isEmpty({});
// true
>提供了沒有1:??1本機方法的功能:>

>它本身甚至可以用作模板引擎:>
_.flatten([[0, 1], [2, 3], [4, 5]]);
// [0, 1, 2, 3, 4, 5]

>下劃線是一個輕量級的庫(僅5.7kb,縮小和GZPECT),並由多種知名項目使用,例如:>

_.range(5);
// [0, 1, 2, 3, 4]
美國今日

LinkedIn
_.template('<p><%= text %></p>', {text: 'SitePoint Rocks!'});
// <p>SitePoint Rocks!</p>

汗學(xué)院

  • 現(xiàn)在,讓我們更具體地開始潛入其主要功能。 >
  • 好零件
  • 在本教程中,我將重點介紹下劃線最常見的三種方法:
_。每個()

_。 template()

_。 filter()

    >我將解釋它們是如何單獨使用的,然後將它們綁在一起以構(gòu)建在教程結(jié)束時可以找到的演示應(yīng)用程序。與以往一樣,此演示的代碼可在GitHub上獲得。
  • >
  • 如果您想遵循示例,則需要獲取圖書館的副本,例如,您喜歡的cdn:>
  • >,如果您發(fā)現(xiàn)自己一路需要幫助,或者您只是好奇地發(fā)現(xiàn)更多,請不要忘記,下劃線的文檔是廣泛的。它也有一個龐大而活躍的社區(qū),這意味著很容易找到幫助。
  • >
  • _。每個:寫入可讀循環(huán)

在代碼中的某個時刻,沒有一個與此片段相似的單個項目:

>下劃線使您可以使用更可讀的語法編寫等效代碼:>
_.isEmpty({});
// true

整潔,是嗎? _.EATEAD()採用兩個參數(shù):

  • 段(或?qū)ο螅┮?
  • >
  • >回調(diào)函數(shù)。
對於我們的數(shù)組中的每個元素_..each()中的每個元素將調(diào)用回調(diào)函數(shù)(在文檔中稱為 itementere

)。在回調(diào)中,我們可以訪問另外三個參數(shù):

當(dāng)前迭代索引(藝術(shù)家)的數(shù)組值。例如,對於上面的摘要,我們將獲得第一次迭代的“ pharrel williams”。
    >
  • >當(dāng)前迭代的數(shù)量(索引),在我們的情況下,該迭代的數(shù)量將從0到2不等。
  • 我們正在通過(藝術(shù)家)迭代的數(shù)組。
  • 您可以看到代碼更可讀,我們可以訪問數(shù)組中的各個元素而無需藝術(shù)家[i],就像我們在示例中看到的示例。
  • >請參閱codepen上的sitepoint(@sitepoint)的筆
  • 接下來,我們將看到模板引擎的行為。

_。 template():直觀而直接

以來,自單頁應(yīng)用程序的興起以來,擁有可靠的前端模板引擎已成為我們工作堆棧的基本需求。

>下劃線提供了一個模板引擎,對於那些熟悉PHP或Ruby在Rails上的語言的人來說,它似乎很熟悉。 在以前的片段中繼續(xù)進行

,我們將演示_.template()的工作方式。我們將通過在我們的代碼中添加幾行,如下所示:

>在這裡,我們正在使用字符串參數(shù)調(diào)用_.template()函數(shù),該函數(shù)包括定界符中的一些數(shù)據(jù)()。當(dāng)以這種方式調(diào)用時,_.template()返回一個函數(shù),我們可以一次又一次使用。

>

>我們可以使用ArtistTemplate()調(diào)用我們的新功能,將其傳遞給對象字面作為參數(shù)。這將返回我們最初傳遞給_.template()的字符串,替換與模板自由變量相對應(yīng)的任何對象屬性。在我們的情況下

>下劃線的模板引擎不僅允許更換單個值,而且還允許在模板本身內(nèi)部執(zhí)行腳本。通過一次修改,我們可以使我們的片段更加強大。

>

>我們已將對_.each()的調(diào)用納入代表我們模板的字符串,這使我們更改了調(diào)用模板的方式。由於我們現(xiàn)在在_.template()函數(shù)中迭代,因此我們可以將完整的藝術(shù)家陣列傳遞到ArtistTemplate()(以前我們正在通過單個藝術(shù)家)。此代碼的輸出將與上一個示例中的輸出相同。
_.flatten([[0, 1], [2, 3], [4, 5]]);
// [0, 1, 2, 3, 4, 5]
>

當(dāng)我們想要_.template()評估JavaScript代碼時,我們只需要在> 的之間包圍我們的代碼

>自調(diào)用由_.template生成的模板就像調(diào)用函數(shù)一樣,我們可以將摘要更進一步,並通過使用 tags將一個模板從另一個內(nèi)部調(diào)用。這樣,我們可以製作可重複使用的模板,因為我們可以為我們的藝術(shù)家列表提供不同的包裝模板,並為其包含的每個項目調(diào)用模板。 >

>請參見codepen上的sitepoint(@sitepoint)的pen _.template()。

最後,讓我們看一下_.filter()函數(shù)。

>

_。 Filter():您所需要的只是一個布爾函數(shù)

_。 filter()接收一個數(shù)組和回調(diào)函數(shù)作為參數(shù)。然後,它調(diào)用數(shù)組中每個元素的函數(shù),並返回一個新數(shù)組,其中包含這些元素,該元素將函數(shù)評估為真實的事物。 >

>我們的回調(diào)函數(shù)還將收到三個參數(shù),如_.eeld()案例:與當(dāng)前迭代索引相對應(yīng)的數(shù)組中的元素,迭代的索引和數(shù)組本身。 為了澄清這一點,讓我們對我們的片段進行幾個修改。 >

正如您可能已經(jīng)猜到的那樣,在我們的模板中,我們將收到['acdc']作為數(shù)組參數(shù)。這是我們到目前為止的演示。

>

>請參閱codepen上的sitepoint(@sitepoint)的筆_.filter()

足夠說。讓我們?yōu)槟承┦虑樽兊酶幸饬x的事物工作。

>

我們的演示應(yīng)用程序

_.isEmpty({});
// true
別忘了,該演示的代碼可在GitHub上獲得。 >我們將構(gòu)建一個消耗API的小型應(yīng)用程序,顯示獲得的信息,並允許用戶過濾所顯示的內(nèi)容。為此,我們將使用:

> jQuery

Spotify Web API

更具體地說,該應(yīng)用程序?qū)腟potify中獲取一些藝術(shù)家信息,並通過使用下劃線_.template,_.EAK和_.Filter獲取一些藝術(shù)家信息,我們將在頁面上顯示它,並允許用戶通過類型縮小結(jié)果範(fàn)圍。

為此,我們將代碼分為三個不同的模塊:>
    態(tài)
  • _isawesome.template:照顧模板編譯。
  • _isawesome:這是負(fù)責(zé)響應(yīng)用戶操作並更新UI的主要模塊
  • >所有這些都遵循模塊模式。
  • config Module

    配置模塊包含要使用的模板的ID,以及我們要查詢的API的URL以及我們希望從Spotify獲得的藝術(shù)家的ID。這樣,我們可以通過在數(shù)組中添加更多元素來添加更多的藝術(shù)家。

    >

    模板模塊

    這個模塊是通過在config模塊中調(diào)用getTemplates()來編譯模板的一個模塊。

    >

    主模塊

    >該模塊負(fù)責(zé)將AJAX請求發(fā)送到我們從配置模塊中獲得的URL,並使用模板模塊的模板呈現(xiàn)內(nèi)容。 除此之外,此模塊還根據(jù)用戶點擊的過濾器進行過濾項目。

    。

    過濾器和我們的模板都作為HTML的一部分。 為了實現(xiàn)過濾,我們將依靠HTML 5數(shù)據(jù)屬性和jQuery的數(shù)據(jù)接口。這更多是一個便利性的問題,但是如果您希望本地進行此操作,瀏覽器支持非常好。

這是我們將用來進行過濾的按鈕的標(biāo)記:

這是我們將傳遞給過濾器函數(shù)的對象的一個??示例:>

_.isEmpty({});
// true
>我們將為模板提供HTML,作為我們的index.html的一部分,<script> tag,我們通過將其類型設(shè)置為與通常的文本/JavaScript不同的東西來防止執(zhí)行。只是為了一致性,我們將其設(shè)置為下劃線/模板。 <p>> 我們將有兩個模板。第一個將包含藝術(shù)家列表,而第二個將包含要展示的個人藝術(shù)家。如上所述,我們將使用所謂的<pre class="brush:php;toolbar:false">_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5] 嵌入式模板<p>。我們將在另一個(“ item-list”)中調(diào)用一個模板('item-tpl')。 > 然後,在文件的底部,我們將包括我們的庫和三個腳本。另外,為了使其更具視覺吸引力,我們將在標(biāo)題中有一些基本樣式。 <p>就是這樣。 <em> 請參閱codepen上的sitepoint(@sitepoint)的筆下劃線。 <p>結(jié)論 <p>下劃線是一種與之合作的樂趣,正如我所證明的那樣,它允許您編寫乾淨(jìng),可讀和易於維護的代碼。 <p data-default-tab="result" data-height="475" data-slug-hash="OMyOVm" data-theme- data-user="SitePoint">>我們還可以添加幾件事(例如,通過使用_.pluck())動態(tài)生成過濾器,但我認(rèn)為我們有足夠的時間開始。 > <h2 >>你呢?您是否與下劃線合作?您願意嘗試一下嗎?您是否嘗試過提供類似功能的替代方案(即lodash)?在下面的評論中讓我知道。 <h2 >經(jīng)常詢問的問題(常見問題解答) > underscore.js? <ancore.js的主要目的是什麼是javaScript庫,提供一組可用於通用編程任務(wù)的實用程序功能。它的設(shè)計是對JavaScript中內(nèi)置功能的補充,提供了額外的功能和提高生產(chǎn)率。它提供100多個功能,包括處理數(shù)組,對象,功能等的功能。這些功能有助於以更高效,更直接的方式操縱數(shù)據(jù)和對象,使其成為開發(fā)人員的寶貴工具。 <h3 >>>我如何開始使用unterscore.js? <anter.js? <p >下面core.js,您首先需要將其包括在項目中。您可以通過從官方網(wǎng)站下載圖書館並將其鏈接到HTML文件或使用CDN來做到這一點。一旦將其包含在項目中,您就可以通過使用下劃線字符(_)調(diào)用其功能開始使用其功能。 ><h3 >underscore.js提供了廣泛的功能,但是一些最有用的功能包括: <p > <h3 >> 1。 _.EAT:此功能允許您在數(shù)組或?qū)ο蟮脑厣系?<p ><br>1。 _.map:此函數(shù)通過使用函數(shù)在數(shù)組或?qū)ο裰修D(zhuǎn)換數(shù)組或?qū)ο裰械拿總€元素來創(chuàng)建一個新數(shù)組。 <br> <ul> 1。 _.Filter:此功能返回一個新數(shù)組,其所有元素都通過真實測試。 <br><ul>1。 _.find:此函數(shù)返回第一個傳遞真實測試的元素。 <br><ul>1。 _.Reduce:此函數(shù)通過迭代應(yīng)用功能將數(shù)組或?qū)ο蠼档蜑閱蝹€值。 <br> <> <ul> > <br>我可以將unterscore.js與其他JavaScript庫一起使用?是的,underscore.js旨在與其他JavaScript庫兼容。它不會擴展任何內(nèi)置的JavaScript對象,因此它不會與頁面上運行的其他庫或腳本相衝突。 <ul> usterscore.js仍然維護和更新? ,UnderScore.js被積極維護並定期更新。該圖書館是開源的,這意味著來自世界各地的開發(fā)人員為其開發(fā)和改進做出了貢獻。 <ante><p>> sudmerscore.js與lodash等其他公用事業(yè)圖書館相比如何? Lodash提供了類似的功能,但是存在一些差異。 lodash是下劃線的超集。但是,underscore.js較小且較輕,使其成為一個令人擔(dān)憂的項目。下score.js可以在node.js環(huán)境中使用。您可以使用node.js軟件包管理器NPM安裝它,通過運行命令“ NPM安裝下劃線”。<ancore.js? <ancore.js中的“下劃線”中的“下劃線”是什麼,underscore.js中的“下劃線”是指用於調(diào)用庫函數(shù)的字符(_)。這是JavaScript中的一個慣例,用於使用實用程序庫的下劃線字符。 <h3 >>我可以為開發(fā)underscore.js? <????><p >>是的,因為underscore.js是一個開放源項目,是一個開放源項目,任何人都可以為其發(fā)展做出貢獻。您可以提交錯誤報告,建議新功能,甚至可以貢獻代碼。 <h3 >我在哪裡可以了解有關(guān)underscore.js的更多信息?官方網(wǎng)站提供了全面的文檔,並且在線提供了許多教程和文章。此外,還有幾本書和在線課程涵蓋了深度的深度。 ></script>

以上是開始使用下劃線的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用於不同的應(yīng)用場景。 Java用於大型企業(yè)和移動應(yīng)用開發(fā),而JavaScript主要用於網(wǎng)頁開發(fā)。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時間合作? 如何在JS中與日期和時間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時間處理需注意以下幾點:1.創(chuàng)建Date對像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時間信息可用get和set方法,注意月份從0開始;3.手動格式化日期需拼接字符串,也可使用第三方庫;4.處理時區(qū)問題建議使用支持時區(qū)的庫,如Luxon。掌握這些要點能有效避免常見錯誤。

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

為什麼要將標(biāo)籤放在的底部? 為什麼要將標(biāo)籤放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript:探索用於高效編碼的數(shù)據(jù)類型 JavaScript:探索用於高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什麼是在DOM中冒泡和捕獲的事件? 什麼是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過addEventListener的useCapture參數(shù)設(shè)為true實現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯誤處理。了解這兩個階段有助於精確控制JavaScript響應(yīng)用戶操作的時機和方式。

Java和JavaScript有什麼區(qū)別? Java和JavaScript有什麼區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語言。 1.Java是靜態(tài)類型、編譯型語言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動態(tài)類型、解釋型語言,主要用於網(wǎng)頁交互和前端開發(fā)。

See all articles