開始使用下劃線
鑰匙要點
- underscore.js是一個JavaScript庫,為各種用例提供功能性實用程序,使代碼更易於讀寫,並且在本機JavaScript中不總是可用的功能。 >
- 庫包括用於編寫可讀循環的常見方法,例如_.each(),_.template()用於直觀和直接的模板,以及_.filter()用於使用boolean函數過濾數組的_ .filter()。 underscore.js輕巧,並由許多大牌項目使用,包括《今日美國》,《 LinkedIn》和《汗學院》。
- >使用unterscore.js,jQuery和Spotify Web API的演示應用程序演示瞭如何使用庫從API獲取和顯示數據,並允許用戶過濾結果。
underscore.js是由Jeremy Ashkenas撰寫的JavaScript庫,為各種用例提供了功能性實用程序,我們作為開發人員在面對Web項目時可能會遇到這些用例。 > 它製作的代碼更容易閱讀:
>它使代碼更易於編寫:
>
_.isEmpty({}); // true
>它本身甚至可以用作模板引擎:
_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5]
>下劃線是一個輕量級的庫(僅5.7kb,縮小和GZPECT),並由多種知名項目使用,例如:
_.range(5); // [0, 1, 2, 3, 4]
_.template('<p><%= text %></p>', {text: 'SitePoint Rocks!'}); // <p>SitePoint Rocks!</p>
汗學院
- 現在,讓我們更具體地開始潛入其主要功能。
> 好零件 - 在本教程中,我將重點介紹下劃線最常見的三種方法:
_。 template()
_。 filter()
- >我將解釋它們是如何單獨使用的,然後將它們綁在一起以構建在教程結束時可以找到的演示應用程序。與以往一樣,此演示的代碼可在GitHub上獲得。
- > 如果您想遵循示例,則需要獲取圖書館的副本,例如,您喜歡的cdn:
- >,如果您發現自己一路需要幫助,或者您只是好奇地發現更多,請不要忘記,下劃線的文檔是廣泛的。它也有一個龐大而活躍的社區,這意味著很容易找到幫助。
- > _。每個:寫入可讀循環
在代碼中的某個時刻,沒有一個與此片段相似的單個項目:
>下劃線使您可以使用更可讀的語法編寫等效代碼:
_.isEmpty({}); // true
整潔,是嗎? _.EATEAD()採用兩個參數:
- 段(或對象)要迭代。 >
- >回調函數。
)。在回調中,我們可以訪問另外三個參數:
當前迭代索引(藝術家)的數組值。例如,對於上面的摘要,我們將獲得第一次迭代的“ pharrel williams”。- >
- >當前迭代的數量(索引),在我們的情況下,該迭代的數量將從0到2不等。 我們正在通過(藝術家)迭代的數組。
- 您可以看到代碼更可讀,我們可以訪問數組中的各個元素而無需藝術家[i],就像我們在示例中看到的示例。
- >請參閱codepen上的sitepoint(@sitepoint)的筆 接下來,我們將看到模板引擎的行為。
_。 template():直觀而直接
以來,自單頁應用程序的興起以來,擁有可靠的前端模板引擎已成為我們工作堆棧的基本需求。
>下劃線提供了一個模板引擎,對於那些熟悉PHP或Ruby在Rails上的語言的人來說,它似乎很熟悉。 在以前的片段中繼續進行
,我們將演示_.template()的工作方式。我們將通過在我們的代碼中添加幾行,如下所示:>在這裡,我們正在使用字符串參數調用_.template()函數,該函數包括定界符中的一些數據()。當以這種方式調用時,_.template()返回一個函數,我們可以一次又一次使用。
>
>我們可以使用ArtistTemplate()調用我們的新功能,將其傳遞給對象字面作為參數。這將返回我們最初傳遞給_.template()的字符串,替換與模板自由變量相對應的任何對象屬性。在我們的情況下>下劃線的模板引擎不僅允許更換單個值,而且還允許在模板本身內部執行腳本。通過一次修改,我們可以使我們的片段更加強大。
>>我們已將對_.each()的調用納入代表我們模板的字符串,這使我們更改了調用模板的方式。由於我們現在在_.template()函數中迭代,因此我們可以將完整的藝術家陣列傳遞到ArtistTemplate()(以前我們正在通過單個藝術家)。此代碼的輸出將與上一個示例中的輸出相同。
_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5]
當我們想要_.template()評估JavaScript代碼時,我們只需要在> 的之間包圍我們的代碼
>自調用由_.template生成的模板就像調用函數一樣,我們可以將摘要更進一步,並通過使用 tags將一個模板從另一個內部調用。這樣,我們可以製作可重複使用的模板,因為我們可以為我們的藝術家列表提供不同的包裝模板,並為其包含的每個項目調用模板。>請參見codepen上的sitepoint(@sitepoint)的pen _.template()。
最後,讓我們看一下_.filter()函數。>
_。 Filter():您所需要的只是一個布爾函數_。 filter()接收一個數組和回調函數作為參數。然後,它調用數組中每個元素的函數,並返回一個新數組,其中包含這些元素,該元素將函數評估為真實的事物。
>我們的回調函數還將收到三個參數,如_.eeld()案例:與當前迭代索引相對應的數組中的元素,迭代的索引和數組本身。
為了澄清這一點,讓我們對我們的片段進行幾個修改。 >
正如您可能已經猜到的那樣,在我們的模板中,我們將收到['acdc']作為數組參數。這是我們到目前為止的演示。 >
>請參閱codepen上的sitepoint(@sitepoint)的筆_.filter()足夠說。讓我們為某些事情變得更有意義的事物工作。
>我們的演示應用程序
_.isEmpty({}); // true
> jQuery
。
Spotify Web API
態
config Module
配置模塊包含要使用的模板的ID,以及我們要查詢的API的URL以及我們希望從Spotify獲得的藝術家的ID。這樣,我們可以通過在數組中添加更多元素來添加更多的藝術家。 >
模板模塊>
主模塊
這是我們將用來進行過濾的按鈕的標記:
這是我們將傳遞給過濾器函數的對象的一個示例:
_.isEmpty({}); // true
以上是開始使用下劃線的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。
