20181028_ARTS_week18
第十八週,演算法題 Implement strStr(),看了一篇介紹 HTML5 開源視訊播放元件的文章,介紹了 ES6 中模板字串的用法,分享了這周在做 angularJS 相關重構的時候對 angularJS 的一些想法。
Algorithm
/** * Implement strStr() * https://leetcode.com/problems/implement-strstr/ * * @param {string} haystack * @param {string} needle * @return {number} */ var strStr = function (haystack, needle) { var step = needle.length; var len = haystack.length; var i = 0; // when needle is an empty string // if (step == 0) { //return 0; // } while (step <= len) { if (needle == haystack.substring(i, i+step)) { return i } i += 1; len -= 1; } return -1 }; console.log(strStr("hello", "ll")) console.log(strStr("aaaaa", "bba"))
比較簡單的題目,第一反應直接可以用自帶的 indexOf 之類的去解決。除此之外就可以用個 while 迴圈一個個比一下就搞定了。
Review
5 Open Source HTML5 Video Players for 2018
ofollow,noindex" target="_blank">https://blog.bitsrc.io/5-open-source-html5-video-players-for-2018-38fa85932afb
文章介紹了 5 個開源基於 HTML 的視訊播放元件。
隨著行動網路速度的提高和資費的降低,視訊的需求也越來越旺盛,作者先是說了幾個用開源視訊播放元件的好處,基本上都是大家知道的,比如免費。之後介紹了 5 個播放元件,分別是 Plyr, Video.js, Afterglow, MediaElement.js, jPlayer。
這裡面我只用過 jPlayer,感覺還不錯,挺簡單的。
Tip
介紹一下 ES6 裡面的模板字串。
以前我們要組合一些字串是這樣做的:
var firstName = 'Jake'; var lastName = 'Rawr'; console.log('My name is ' + firstName + ' ' + lastName); // My name is Jake Rawr**
非常蛋疼,偏偏經常要組合字串。
ES6 後可以這樣做:
var firstName = 'Jake'; var lastName = 'Rawr'; console.log(`My name is ${firstName} ${lastName}`); // My name is Jake Rawr
然後這個裡面還可以做點運算:
var val1 = 1, val2 = 2; console.log(`${val1} is ${val1 < val2 ? 'less than': 'greater than'} ${val2}`) // 1 is less than 2
我個人不建議把複雜運算放這裡做,程式碼看起來很奇怪,不優雅。
來源 https://www.jstips.co/en/javascript/template-strings/
Share
公司以前有個老專案使用 angularJS (angularJS 不是 Angular,也就是 1.0)做的,這周準備對它進行一些重構,改為用 Vue 來做。做之前當然需要去了解下 angularJS 的東東。
現在網上對 angularJS 可以說是『鄙視』了,什麼老啊,舊啊,效能不好啊,工程化不完善啊等等。站在今天來看,跟今天的很多前端框架比,angularJS 的確已經落伍。
但要知道 angularJS 大概是 2008 年推出的,幾乎是 node 差不多時間。站在那時候看 angularJS 還是非常先進的,元件,模板,依賴倒轉,自動更新……這些在當時可以說是殺手級的特性了。
只是時代變遷,可能是開發的時候缺乏 node 之類的編譯打包工具,所以 angularJS 寫出的頁面非常臃腫,一堆 js 檔案以及模板要做非同步載入,非常影響效能和開啟速度。
很多東西都是演化來的,在今天我們站在制高點懟天懟地懟框架的時候,想想框架出來的時機,以及大環境,這是前端最好的時代,也是前端最壞的時代。
碎碎念
記錄一些所思所想,寫寫科技與人文,寫寫生活狀態,寫寫讀書心得,主要是扯淡和感悟。 歡迎關注,交流。
公眾號ID : MonkeyCoder-Life