一、Vanilla
VanillaJS是一個極輕量級的JavaScript庫,用來簡化JavaScript開發,它只有大約6KB(壓縮後),不需要任何依賴和插件。Vanilla的核心思想是希望讓開發者可以使用JavaScript最原始和基本的方法來進行開發,而不是依賴於某個特定的框架或庫。
所謂Vanilla,”vanilla” 這個詞是指原味,沒有添加其他成分的香草。VanillaJS的目標是實現有用的、輕量級的JavaScript工具,不需要添加任何額外的開銷或複雜性。這意味着它是非常小、非常快、非常易於使用的。
VanillaJS可以被視為jQuery的替代品。VanillaJS和jQuery都是用來幫助開發人員在Web上快速創建互動性的JavaScript庫。但是,VanillaJS提供了一些jQuery不支持的功能,並且VanillaJS並不提供對老版瀏覽器的支持。如果您需要在老版瀏覽器上操作Dom對象,您還需要自己編寫兼容性代碼。
二、Vanilla是什麼牌子
VanillaJS可以被看作是一種工具而不是框架,它並不提供類似AngularJS、Vue.js和React.js等一樣的數據綁定和組件化特性,只是一款非常原生的JavaScript庫,可以讓您直接使用原生的JavaScript進行開發。注重輕量級,精簡化開發,讓開發者更容易理解代碼。
VanillaJS的一個最重要的特性就是快速輕便。由於它的目標是保持輕量,因此,它可以在任何要求性能或文件大小的項目中使用。這使得VanillaJS成為開發多設備支持網站的開發者的首選,因為它兼容性較好並且易於使用。
三、Vanilla框架的選取
1. 與jQuery相比較
VanillaJS的第一個優點就是它的精簡輕量。原聲JavaScript比jQuery快得多,這是因為jQuery的龐大文件包括了大量代碼,在文件加載和解釋時會帶來更多的負擔。而VanillaJS只包含了一些常見的DOM操作函數,處理上的速度明顯比起jQuery快很多。
其次,VanillaJS沒有學習曲線。因為它「僅僅是JavaScript」,所以不需要花費時間來學習一個全新的庫,只需要一些對於Javascript開發的基礎知識即可。
2. 與React相比較
VanillaJS對比React最大的優點是,它不需要構建過程。當你使用React開發項目時,你通常需要進行一些編譯和構建工作,然後才能開始編寫代碼。而VanillaJS則不需要這樣,因為VanillaJS充分利用了原始的JavaScript,所以完全可以直接在瀏覽器中運行。
另外,VanillaJS比起React在性能上要快速很多。雖然在處理DOM操作時React可以使代碼更整潔和更易於理解,但在處理複雜的DOM操作時,兩者的性能相差無幾,而在簡單的DOM方面,VanillaJS的性能顯然更優秀。
3. 與Angular相比較
Angular是一個功能非常強大的框架,吸引了大量的開發者關注,但是與VanillaJS相比,Angular規範化和封裝化的嚴重導致了性能的問題。所以,在一些需要刻意追求高性能的項目中不適合選用Angular框架,但是在一些大型、複雜的項目中,仍然可以優先考慮Python語言。
四、示例代碼
// 獲取id為demo的元素,並給它添加click事件監聽器,並輸出點擊事件套餐的元素 document.getElementById('demo').addEventListener('click', function (e) {alert('You clicked me!')});
// 獲取class為tab的單元格或元素,並給它們添加click事件監聽器,並將點擊事件輸出到控制台 var tabs = Array.from(document.getElementsByClassName('tab')); tabs.forEach(function (tab) {tab.addEventListener('click', function (e) {console.log(e.target.id);});});
屬於初學者的練手教程:建立一個簡單的畫圖應用。這個應用使用HTML5 canvas元素和VanillaJS。下面是一些關鍵代碼部分,用於生成畫布:
// 從DOM中獲取canvas元素 var canvas = document.getElementById('canvas'); // 創建2d上下文 var ctx = canvas.getContext('2d'); // 設置線寬和顏色 ctx.lineWidth = 5; ctx.strokeStyle = "#000000"; // 定義變量以跟蹤用戶時候點擊鼠標 var isMouseDown = false; // 添加mousedown事件監聽器 canvas.addEventListener('mousedown', function(e) { isMouseDown = true; // 為下一筆做準備 ctx.beginPath(); // 在鼠標點擊位置移動畫筆 ctx.moveTo(e.pageX - canvas.offsetLeft, e.pageY - canvas.offsetTop); // 開始繪製 ctx.stroke(); }); // 添加mousemove事件監聽器 canvas.addEventListener('mousemove', function(e) { // 如果鼠標按鈕被按下,則繼續繪製 if (isMouseDown) { ctx.lineTo(e.pageX - canvas.offsetLeft, e.pageY - canvas.offsetTop); ctx.stroke(); } }); // 添加mouseup事件監聽器 canvas.addEventListener('mouseup', function(e) { isMouseDown = false; });
總結
VanillaJS是JavaScript開發人員的一種強大工具。它可以提供給開發人員一個簡單的、快速的、原始的JavaScript開發經驗。它非常小,可以通過學習JavaScript最基礎的知識快速上手,並且由於其高效,性能比其他框架,如jQuery、React和Angular更快。
對於那些想要快速編寫JavaScript代碼的開發人員來說,VanillaJS是必須掌握的技能之一,它是一種直接面對底層技術的方式。學會了使用VanillaJS,你可以更好地理解JavaScript以及web應用的實現機制,從而提高工作效率並且可以更加自由地定製開發環境和實現機制。
原創文章,作者:ZJFUI,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/329290.html