201812-13 2018年值得期待11個Javascript動畫庫 在瀏覽網頁尋找一個整潔的Javascript動畫庫時,我發現很多“recommended”的動畫庫一段時間都沒有維護。經過一些研究,我收集了11個最好的庫,在你的應用程序中使用。我還添加了一些,主要是非維護的,有用的庫。使用UI組件時,您還可以使用Bit輕松地在不同應用程序之間共享這些組件,而不是復制粘貼它們,從不同項目進行更改并與其他項目協作。Bit-使用代碼組件共享和構建_Bit可幫助您在項目和應用程序之間... 繼續閱讀 >
201812-07 谷歌的JavaScript編寫風格中 13點值得我們注意的! 對于那些還不熟悉JavaScript的編寫風格的人,谷歌提供了編寫JavaScript的編寫風格指南,谷歌風格指南其中列出了編寫干凈、可理解代碼的最佳風格實踐。對于編寫有效的JavaScript來說,這些并不是硬性的、快速的規則,而只是在源文件中維護一致的、吸引人的樣式選擇的規則。這對于JavaScript來說尤其有趣,它是一種靈活且多變的語言,允許多種風格的選擇。谷歌和Airbnb有兩個最受歡迎的編寫風格指南。如果我的工作... 繼續閱讀 >
201811-16 JavaScript 箭頭函數:適用與不適用場景 現代JavaScript中最引人注目的功能之一是引入了箭頭函數,用 => 來標識。這種函數有兩大優點–非常簡潔的語法,和更直觀的作用域和 this的綁定。這些優點有時導致箭頭函數比其他形式的函數聲明更受歡迎。例如,受歡迎的 airbnbeslint配置 會在您創建匿名函數時強制使用JavaScript箭頭函數。然而,就像工程中的任何東西一樣,箭頭函數優點很明顯,同時也帶來了一些負面的東西。使用他們的時候... 繼續閱讀 >
201810-13 JavaScript和JSON創建者對JavaScript未來的展望 近期在倫敦召開的FullStack大會上,BrendanEich和DouglasCrockford分別做演講探討了JavaScript的未來。Eich是JavaScript的創建者;Crockford是JSON的創建者,也是《JavaScript語言精粹》(“JavaScript:TheGoodParts”)一書的作者。Eich的大會演講主要聚焦于一些需迭代改進的語言特性。Crockford引導聽眾聚焦于JavaScript軟件工程的下一步發展,他稱之為一種全球分布的、安全的異步編程模式。Crockford指出,包... 繼續閱讀 >
201809-13 JavaScript中Array方法的正確打開方式 在過去的幾個月,我發現我的拉取請求中存在四個完全相同的JavaScript錯誤。于是我寫了這篇文章,總結了如何在JavaScript中正確使用地使用Array的方法!用Array.includes代替Array.indexOf“如果你要在數組中查找元素,請使用Array.indexOf”。我記得在學習JavaScript的時候,在教材中讀到這樣的一句話。毫無疑問,這句話是真的!MDN文檔寫道,Array.indexOf將“返回第一次出現給定元素的索引”。... 繼續閱讀 >
201809-13 JavaScript性能優化小竅門實例匯總 在眾多語言中,JavaScript已經占有重要的一席之地,利用JavaScript我們可以做很多事情,應用廣泛。在web應用項目中,需要大量JavaScript的代碼,將來也會越來越多。但是由于JavaScript是一個作為解釋執行的語言,而且它的單線程機制,決定了性能問題是JavaScript的弱點,也是開發者在寫JavaScript的時候需注意的一個問題。因為經常會遇到Web2.0應用性能欠佳的問題,主因就是JavaScript性能不足,導致瀏覽器... 繼續閱讀 >
201808-28 JavaScript 引擎基礎:原型優化 本文就所有JavaScript引擎中常見的一些關鍵基礎內容進行了介紹——這不僅僅局限于V8引擎。作為一名JavaScript開發者,深入了解JavaScript引擎是如何工作的將有助于你了解自己所寫代碼的性能特征。在前一篇文章中,我們討論了JavaScript引擎是如何通過Shapes和InlineCaches來優化對象與數組的訪問的。本文將介紹優化流程中的權衡與取舍,并對引擎在優化原型屬性訪問方面的工作進行介紹。原文JavaScript... 繼續閱讀 >
201808-21 JS傳參技巧總結 1.隱式創建html標簽<inputtype="hidden"name="tc_id"value="{{tc_id}}">這種方法一般配合ajax,上面的value使用了模板引擎2.window['data']window['name']="thewindowobject";3.使用localStorage,cookie等存儲window.localStorage.setItem("name","xiaoyueyue");window.localStorage.getItem("name")特點:1、localStorage是持久存儲,不主動刪除一直存在sessionStorage是臨時存儲,關閉瀏覽... 繼續閱讀 >
201808-08 javascript引擎工作原理 1.什么是JavaScript解析引擎?簡單地說,JavaScript解析引擎就是能夠“讀懂”JavaScript代碼,并準確地給出代碼運行結果的一段程序。比方說,當你寫了 vara=1+1; 這樣一段代碼,JavaScript引擎做的事情就是看懂(解析)你這段代碼,并且將a的值變為2。學過編譯原理的人都知道,對于靜態語言來說(如Java、C++、C),處理上述這些事情的叫編譯器(Compiler),相應地對于JavaScript這樣的... 繼續閱讀 >
201807-19 WebGL入門與進階1 改革開發40年以來,世界日新月異,無論從生活到精神上都有了顛覆性的變化,曾經教授還是教書的,磚家還叫專家,太陽還不叫日,菊花還是一種花,老王還沒那么多,Web還只需要做IE,XHR還沒出生的時候,怎么能想到現在瀏覽器會提供如此豐富多彩的多媒體生活,無論是音頻、視頻、以及各種漂亮的頁面都在讓用戶更好的擁抱著互聯網,當二維頁面無法滿足用戶之后,會出現什么樣的內容來繼續推進Web進展呢,沒錯,就是3D,瀏覽器中看到... 繼續閱讀 >
201807-10 Web Worker 使用教程 一、概述JavaScript語言采用的是單線程模型,也就是說,所有任務只能在一個線程上完成,一次只能做一件事。前面的任務沒做完,后面的任務只能等著。隨著電腦計算能力的增強,尤其是多核CPU的出現,單線程帶來很大的不便,無法充分發揮計算機的計算能力。WebWorker的作用,就是為JavaScript創造多線程環境,允許主線程創建Worker線程,將一些任務分配給后者運行。在主線程運行的同時,Worker線程在后臺運... 繼續閱讀 >
201806-20 JavaScript 的 this 原理 一、問題的由來學懂JavaScript語言,一個標志就是理解下面兩種寫法,可能有不一樣的結果。varobj={foo:function(){}};varfoo=obj.foo;//寫法一obj.foo()//寫法二foo()上面代碼中,雖然obj.foo和foo指向同一個函數,但是執行結果可能不一樣。請看下面的例子。varobj={foo:function(){console.log(this.bar)},bar:1};varfoo=obj.foo;varbar=2;obj.foo()//1foo()//2這種差異的原因,就在于... 繼續閱讀 >
201806-20 深入理解js的同步與異步 JavaScript語言的一大特點就是單線程,也就是說,同一個時間只能做一件事。那么,為什么JavaScript不能有多個線程呢?這樣能提高效率啊。JavaScript的單線程,與它的用途有關。作為瀏覽器腳本語言,JavaScript的主要用途是與用戶互動,以及操作DOM。這決定了它只能是單線程,否則會帶來很復雜的同步問題。比如,假定JavaScript同時有兩個線程,一個線程在某個DOM節點上添加內容,另一個線程刪除了這個節點,這時瀏覽器... 繼續閱讀 >
201806-20 JavaScript 的 this 原理 一、問題的由來學懂JavaScript語言,一個標志就是理解下面兩種寫法,可能有不一樣的結果。varobj={foo:function(){}};varfoo=obj.foo;//寫法一obj.foo()//寫法二foo()上面代碼中,雖然obj.foo和foo指向同一個函數,但是執行結果可能不一樣。請看下面的例子。varobj={foo:function(){console.log(this.bar)},bar:1};varfoo=obj.foo;varbar=2;obj.foo()//1foo()//2... 繼續閱讀 >
201805-16 [譯]深入ES6之箭頭函數 箭頭一族缺少的家庭成員在JavaScript出現以來,箭頭(Arrow)就一直是其語法的一部分。一般來說,JavaScript教程的第一篇就會講如何在HTML中插入箭頭括號來作為注釋,這會阻止不支持JS的瀏覽器錯誤的將你的JS代碼作為文字展現出來,比如這個:<scriptlanguage="javascript"><!--document.bgColor="brown";//red//--></script>老舊的瀏覽器只會看到兩個不支持的tag以及一個注釋,而現代... 繼續閱讀 >
201804-30 數組的遍歷你都會用了,那Promise版本的呢 這里指的遍歷方法包括:map、reduce、reduceRight、forEach、filter、some、every。因為最近要進行了一些數據匯總,node版本已經是8.11.1了,所以直接寫了個async/await的腳本。但是在對數組進行一些遍歷操作時,發現有些遍歷方法對Promise的反饋并不是我們想要的結果。當然,有些嚴格來講并不能算是遍歷,比如說some,every這些的。但確實,這些都會根據我們數組的元素來進行多次的調用傳入的回調。這些方法都是... 繼續閱讀 >