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流利?
>流利的API使您可以通過返回該對象來調用鏈接函數。如果您不知道此關鍵字在JavaScript中的工作方式,我建議閱讀這篇很棒的文章。 我們可以輕鬆地創建一個流利的API:
如您所見,技巧只是返回該對象(在這種情況下對當前實例的引用)以允許鏈條繼續。 然後,我們可以鏈接電話:

所以我做了一個基準!
>您可以看到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上,以確定我是否必須關注性能。

,這是我得到的結果:
- 在Chrome中,常規API比Fluent API慢6% 在Firefox中,兩個API幾乎都以相同的速度運行(Fluent API慢1%) > 在IE中,兩個API幾乎都以相同的速度運行(流利的API慢2%)
- >
- >我在函數(Math.cos)中添加了一個操作,以模擬該函數完成的某種處理。
所以我的結論是:這是一個!
>
流利的API很棒,它們會產生更可讀的代碼,您可以使用它們而不會出現任何問題或績效損失!>!
與JavaScript更多動手>這可能會讓您感到驚訝,但是微軟在許多開源JavaScript主題上擁有大量免費學習,我們的任務是隨著Project Spartan的到來而創造更多的東西。查看我自己的:
WebGL 3D和HTML5和Babylon.js
簡介- >使用ASP.NET和AngularJS
- 構建單頁應用程序 HTML 中的尖端邊緣圖形
- 或我們團隊的學習系列:
>現代Web平台Jumpstart(HTML,CSS和JS的基本原理)
- >
- >使用HTML和JavaScript Jumpstart開發通用Windows應用程序(使用已創建的JS來構建應用程序)
- 和一些免費工具:Visual Studio社區,Azure試用和Mac,Linux或Windows的跨瀏覽器測試工具。 >
- 本文是Microsoft的Web Dev技術系列的一部分。我們很高興與您共享Spartan項目及其新的渲染引擎。在Modern.ie上獲取免費的虛擬機或遠程測試。
> 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與JavaScript中的其他設計模式相比如何? Fluent API是一種側重於可讀性和表現力的設計模式。它可以與其他設計模式(例如構建器模式)進行比較,該模式還旨在使代碼更易讀和更易於使用。但是,儘管構建器模式著重於逐步構造複雜對象,但Fluent API著重於使方法調用可鏈接,以鏈接用於更可讀的操作流。是否可以與JavaScript庫和框架一起使用Fluent API? >
是的,流利的API可以與任何JavaScript庫或框架一起使用。許多流行的庫和框架(例如JQuery和Lodash)已經使用Fluent API來使他們的方法更具可讀性和表現力。我如何調試流利的API?
>流利的API可以提高性能嗎?
流利的API主要是關於改善代碼的可讀性和可維護性,而不是性能。但是,通過使您的代碼更易於閱讀和理解,流利的API可以幫助您更輕鬆地發現和修復性能問題。
Fluent API是否適合每個項目?非常適合將可讀性和可維護性作為優先事項的項目。但是,它們可能不是每個項目的最佳選擇。如果您的團隊不熟悉流利的API模式,則可能需要一些時間才能習慣它。此外,流利的API如果不正確使用會使調試變得更加困難。與任何設計模式一樣,在決定使用Fluent API之前考慮您的項目和團隊的需求很重要。
>以上是JavaScript就像老闆:了解流利的API的詳細內容。更多資訊請關注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)

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,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。
