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

20181028_ARTS_week18


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

虚拟现实:最后的传播

虚拟现实:最后的传播

聂有兵 / 中国发展出版社 / 2017-4-1 / 39.00

本书对“虚拟现实”这一诞生自70年代却在今天成为热门话题的概念进行了历史发展式的分析和回顾,认为虚拟现实是当今最重大的社会变革的技术因素之一,对虚拟现实在未来百年可能给人类社会的各个层面带来的影响进行说明,结合多个大众媒介的发展趋势,合理地推演未来虚拟现实在政治、经济、文化等领域的态势,并基于传播学理论框架提出了几个新的观点。对于普通读者,本书可以普及一般的虚拟现实知识;对于传媒行业,本书可以引导......一起来看看 《虚拟现实:最后的传播》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换