搜尋
首頁web前端js教程JavaScript就像老闆:了解流利的API

JavaScript就像老闆:了解流利的API

鑰匙要點

    JavaScript中的
  • fluent API允許通過在每個函數中返回“此”對象來實現函數調用的鏈接,從而允許更具可讀性和可理解的代碼。這使得代碼更加直觀,更易於調試,尤其是在處理複雜的函數調用序列時。 在不同瀏覽器(Chrome,Firefox,IE)上進行性能測試表明,使用Fluent API不會顯著影響性能。在某些情況下,流利的API甚至比常規API快,表明可以使用它們而不擔心性能損失。 Fluent API不僅適用於JavaScript,而且可以與任何JavaScript庫或框架一起使用。許多流行的庫和框架(例如JQuery)已經使用Fluent API來使其方法更具可讀性和表現力。但是,考慮項目的需求以及團隊對流利的API模式的熟悉程度,應明智地使用它們。
  • >
  • 本文是Microsoft的Web開發技術系列的一部分。感謝您支持使SitietPoint成為可能的合作夥伴。 在設計Babylon.js v2.0(網絡上的3D庫)時,我最近發現自己希望更多的API流利- 也就是說,我希望社區能夠更輕鬆地閱讀,理解和建立在技​​術文檔中花費更少的時間的工作。在本教程中,我將瀏覽流利的API-要考慮什麼,如何編寫它們以及跨瀏覽器的性能。
  • 是什麼使API流利?
> 如本Wikipedia文章所述,

>流利的API使您可以通過返回該對象來調用鏈接函數。如果您不知道此關鍵字在JavaScript中的工作方式,我建議閱讀這篇很棒的文章。 我們可以輕鬆地創建一個流利的API:

如您所見,技巧只是返回該對象(在這種情況下對當前實例的引用)以允許鏈條繼續。 然後,我們可以鏈接電話:

JavaScript就像老闆:了解流利的API 在嘗試與Babylon.js做同樣的事情之前,我想確保這不會產生某些性能問題。

所以我做了一個基準!

>

您可以看到foo和foo2做完全相同的事情。唯一的區別是foo可以被束縛,而foo2不能。
<span>$('<div></div>')
</span>     <span>.html("Fluent API are cool!")
</span>     <span>.addClass("header")
</span>     <span>.appendTo("body");</span>
>

顯然呼叫鏈不同:

和:
<span>var <span>MyClass</span> = function(a) {
</span>    <span>this.a = a;
</span><span>}
</span>
<span>MyClass.prototype.foo = function(b) {
</span>    <span>// Do some complex work   
</span>    <span>this.a += Math.cos(b);
</span>    <span>return this;
</span><span>}</span>

給定此代碼,我將其運行在Chrome,Firefox和IE上,以確定我是否必須關注性能。JavaScript就像老闆:了解流利的API

,這是我得到的結果:

  • 在Chrome中,常規API比Fluent API慢6% 在Firefox中,兩個API幾乎都以相同的速度運行(Fluent API慢1%)
  • > 在IE中,兩個API幾乎都以相同的速度運行(流利的API慢2%)
  • >
  • >我在函數(Math.cos)中添加了一個操作,以模擬該函數完成的某種處理。
如果我刪除了所有內容並保留返回語句,則在所有瀏覽器上都沒有區別(實際上只有一兩個毫秒,只需10,000,000次嘗試)。您可以在瀏覽器中自己對其進行測試。而且,如果您沒有方便的設備,那麼Modern.ie上有很多免費工具。 只是不要對真實設備進行虛擬機測試虛擬機。

所以我的結論是:這是一個!

>

流利的API很棒,它們會產生更可讀的代碼,您可以使用它們而不會出現任何問題或績效損失!

>!

與JavaScript更多動手

>這可能會讓您感到驚訝,但是微軟在許多開源JavaScript主題上擁有大量免費學習,我們的任務是隨著Project Spartan的到來而創造更多的東西。查看我自己的:

WebGL 3D和HTML5和Babylon.js

簡介
    >使用ASP.NET和AngularJS
  • 構建單頁應用程序 HTML
  • 中的尖端邊緣圖形
  • 或我們團隊的學習系列:
實用的性能提示,使您的HTML/JavaScript更快(從響應式設計到休閒遊戲再到績效優化的七部分系列)

>現代Web平台Jumpstart(HTML,CSS和JS的基本原理)
    >
  • >使用HTML和JavaScript Jumpstart開發通用Windows應用程序(使用已創建的JS來構建應用程序)
  • 和一些免費工具:Visual Studio社區,Azure試用和Mac,Linux或Windows的跨瀏覽器測試工具。
  • >
  • 本文是Microsoft的Web Dev技術系列的一部分。我們很高興與您共享Spartan項目及其新的渲染引擎。在Modern.ie上獲取免費的虛擬機或遠程測試。
經常詢問有關JavaScript中流利API的問題

> JavaScript中的流利API是什麼?它涉及將鏈接方法一起使用的方式,就像句子或一系列說明一樣。這是通過確保每種方法返回對象的,允許從上一個方法的結果立即調用另一種方法來實現的。流利的API可以使您的代碼更清潔,更直觀,尤其是在處理複雜的功能調用序列時。

>如何在JavaScript中創建流利的API?

>在JavaScript中創建流利的API涉及設計您的方法以返回其屬於其對象。這使您可以將方法鏈接在一起。例如,考慮一個用方法“ startEngine”,“ Accelerate”和“ Stop”的對象“汽車”。如果這些方法中的每一種都返回“此”(汽車對象),則可以像這樣將它們鏈接在一起:car.startengine()。 accelerate()。 stop()。 API?

流利的API可以使您的代碼更易讀和更易於維護。通過將方法鏈接在一起,您可以以讀取句子的方式表達複雜的操作。這可以使您的代碼易於理解和調試。流利的API也可以使您的代碼更具表現力和靈活性,從而使您可以創建更強大的抽象。

是否有使用fluent apis的缺點? ,如果不正確使用,它們也可以使調試變得更加困難。由於方法調用被鏈接在一起,因此一種方法的問題會影響鏈中的所有後續方法。此外,對於不熟悉該模式的人,流利的API有時可能不太直觀。

我可以使用帶有異步代碼的流利API?

是的,您可以使用流利的API,使用異步代碼使用流利的API ,但這可能更複雜。您需要確保鏈中的每種方法都返回承諾,從而使您可以使用“ .then()”將鏈方法一起使用。另外,您可以使用異步/等待語法來編寫看起來同步的異步代碼,這可以使您的流利的API易於閱讀和理解。

>流利的API與Jav​​aScript中的其他設計模式相比如何? Fluent API是一種側重於可讀性和表現力的設計模式。它可以與其他設計模式(例如構建器模式)進行比較,該模式還旨在使代碼更易讀和更易於使用。但是,儘管構建器模式著重於逐步構造複雜對象,但Fluent API著重於使方法調用可鏈接,以鏈接用於更可讀的操作流。

是否可以與JavaScript庫和框架一起使用Fluent API? >

是的,流利的API可以與任何JavaScript庫或框架一起使用。許多流行的庫和框架(例如JQuery和Lodash)已經使用Fluent API來使他們的方法更具可讀性和表現力。

我如何調試流利的API?

可以調試流利的API可以是一點棘手,因為方法調用被鏈在一起。但是,您可以在方法中使用Console.LOG語句來記錄其輸出。此外,使用JavaScript調試器可以幫助您逐步瀏覽代碼,並在鏈條中的每個步驟中查看對象的狀態。

>流利的API可以提高性能嗎?

流利的API主要是關於改善代碼的可讀性和可維護性,而不是性能。但是,通過使您的代碼更易於閱讀和理解,流利的API可以幫助您更輕鬆地發現和修復性能問題。

Fluent API是否適合每個項目?非常適合將可讀性和可維護性作為優先事項的項目。但是,它們可能不是每個項目的最佳選擇。如果您的團隊不熟悉流利的API模式,則可能需要一些時間才能習慣它。此外,流利的API如果不正確使用會使調試變得更加困難。與任何設計模式一樣,在決定使用Fluent API之前考慮您的項目和團隊的需求很重要。

>

以上是JavaScript就像老闆:了解流利的API的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

node.js流帶打字稿node.js流帶打字稿Apr 30, 2025 am 08:22 AM

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python vs. JavaScript:性能和效率注意事項Python vs. JavaScript:性能和效率注意事項Apr 30, 2025 am 12:08 AM

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),