20181028_ARTS_week18
栏目: JavaScript · 发布时间: 7年前
内容简介:第十八周,算法题 Implement strStr(),看了一篇介绍 HTML5 开源视频播放组件的文章,介绍了 ES6 中模板字符串的用法,分享了这周在做 angularJS 相关重构的时候对 angularJS 的一些想法。比较简单的题目,第一反应直接可以用自带的 indexOf 之类的去解决。除此之外就可以用个 while 循环一个个比一下就搞定了。5 Open Source HTML5 Video Players for 2018
第十八周,算法题 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
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。