Vue.js比jQuery更好學


大家普遍認為,對於新手web程序員來說,jQuery被認為是一個好的入門點,甚至於很多程序員都是先學jQuery,再學原生Javascript。

為什么呢?首先是因為jQuery非常流行,但更重要的是,有經驗的程序員都認為jQuery十分簡單,推己及人,對於新手來說當然也應該是非常簡單的,然而這並不正確。

jQuery簡潔,但不簡單。

jQuery絕對可以幫你處理掉很多老瀏覽器的麻煩事(譯者注:比如各種兼容性問題),但對於簡化DOM API操作和封裝Javascript變化而言,它就幫不上什么忙了。

當然,對於敲 $(‘#id’).click(function(event) {..}); 這樣代碼的時候,肯定比原生的Javascript要簡潔。但一些知識你是必須要掌握的,比如DOM選擇器,事件處理,回調函數等等,不然你可寫不出上述的代碼。

jQuery能讓你更簡單地寫代碼,前提是你懂得DOM API和Javascript的相關知識,但這對新手來說並不容易。

Vue.js

Vue.js是Javascript世界的新寵,我幾乎可以說它是最好學的。簡約之道,深入其中。

我堅信,當一名新手使用Vue.js編寫完一個簡單的應用后,會比他使用jQuery(編寫同一應用)更好地理解代碼是如何工作的。

那么,讓我們一起動手,分別用Vue.js和jQuery編寫一個相同的簡單應用,看看那個更好理解。這個應用會計算點擊按鈕的次數,並顯示在顯示出來。

使用jQuery編寫

以下是使用jQuery編寫的典型例子:

<div id="output"></div> <button id="increment">Increment</button> 
<script> var counter = 0; $(document).ready(function() { var $output = $('#output'); $('#increment').click(function() { counter++; $output.html(counter); }); $output.html(counter); }); </script> 

看起來挺簡單的,但這只是因為你是個經驗豐富的程序員。如果要搞清楚代碼是怎么工作的,還是挺復雜的,不信你看:

  1. 在使用jQuery編程的時候,腳本中首先輸入的是$(document).ready(function() { .. }); 。在這三十來個字母的代碼中,如果你不知道以下這四個概念其中之一,你一定渾身難受而且不懂為什么代碼能工作。1.DOM節點選擇器。2.事件處理。3.文檔加載過程。4.回調函數。

  2. 當需要選擇一個DOM元素的時候,你要使用jQuery的構造器$(‘…’)。然而不幸的是你無法確切地指出獲取到的是什么節點,你需要使用一個像CSS3選擇器一樣的過濾器,才能保證代碼運行時(獲取的DOM節點)是你想要的。為了更好的完成這工作,你需要在腦海中模擬出DOM節點並模擬出你通過選擇器選取時會發生什么。當你寫的任一個方法更新DOM元素時,你也需要在腦海中模擬出那節點到底怎么更新,並確定這個選擇器還能如期工作。

  3. 由於一些因素的考慮,jQuery只可以使用一種模式:選擇某些東西,通過API方法去操作被選擇的東西。但這種模式存在問題。jQuery有超過100種方法去應對不同的業務場景,如處理AJAX、數組遍歷等,但這些API都是一維平面的(譯者注:其實就是吐槽jQuery的API名稱過分簡潔,不分層),這些方法的名稱不可能一眼就可以看出它的用途及其返回值。祝新手們好運吧,希望他們能理解這些方法到底要如何使用。

使用Vue.js編寫

以下是使用Vue.js編寫的典型例子:

<div id="app"> <div>{{ counter }}</div> <button v-on:click="increment">Increment</button> </div> 
<script> new Vue({ el: '#app', data: { counter: 0 }, methods: { increment() { this.counter++; } } }); </script> 

Vue.js解決了上述jQuery的很多痛點:

  1. 不需要考慮文檔加載后才能執行回調函數,其中的各種復雜性已被Vue.js隱藏起來。如果你需要更精細的操作,可以使用Vue.js生命周期函數提供的相應鈎子。

  2. data屬性中的counter會與DOM節點相互關聯(譯者注:即數據驅動),counter產生變化時DOM節點會被重新渲染。不再需要在腦袋中記着DOM了,(當點擊按鈕時,)你會肯定頁面中的計數器會被更新,不會出錯,而不必擔心由於使用了靠不住(jQuery)選擇器導致出現的莫名其妙錯誤。

  3. 我們不需要去查找或者回憶那些模棱兩可的API方法。在Vue.js的構造對象中,不同的功能被分層組織,一目了然,或者是通過指令給予更多的上下文,更好地理解DOM節點在模板中是如何工作的。

啰嗦太多了,總結如下:

如果你熟悉原生Javascript與DOM API操作,jQuery確實會更容易。但這對新手來說並不可能。jQuery簡潔,但不簡單。

另一方面,Vue,簡約之道,深入其中。DOM API中許多難的部分都被封裝起來了。新手可以寫出他們真正能懂的代碼,而當他們想寫出更復雜的代碼時,Vue也是支持的。

所以當下次有人問你,新手web程序員該學什么的時候,jQuery可不一定是個好答案。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM