JavaScript算法练习:Slasher Flick
Slasher FlickReturn the remaining elements of an array after chopping off n elements from the head. The head meaning the beginning of the array, or the zeroth...
View ArticleReact的一些概念
对于初学React的同学而言,这并不是一件易事。就拿我自己来说,都不知道从何下手,应该如何去学习才能开始使用React。就算你对React不陌生,学习React也常会碰到一些瓶颈。比如说新颖的概念、开发工具的使用、抽象的名词、快速变化的生态环境等等。也就是说,一旦开始学习React,你会发觉要学的东西越来越多,甚至可能还没开始碰到React就被这些东西给吓跑了(特别是对于初学者,听到这些东东就傻眼了...
View Article【转载】关于动画,你需要知道的
特别声明,本文转载于@十年踪迹的《关于动画,你需要知道的》,如果需要转载,烦请注明文章出处:https://www.h5jun.com/post/animations-you-should-know.html这是我今年为新人设计的一门课程的文字精简版,完整的PPT可参考:简单的 JS 动画在浏览器里,动画实现的基本原理非常简单明了,其实就是采用定时器改变显示元素的一些属性的过程。不管是...
View ArticleJavaScript算法练习:Mutations
Mutations对一个包含两个元素的数组,检测数组中的第二个元素的所有字母是否都在第一个元素中出现过,如果出现过,返回的是true,否则返回的是false。(其中忽略大小写)简单分解一下:将目标字符串(数组中的第一个元素arr[0])和测试字符串(数组中的第二个元素arr[1])转换为小写字符串(通过toLowerCase())将数组中的两个元素分别转换为数组(通过split())使用for循环将...
View ArticleJavaScript实现快速排序
目前最常见的排序算法大概有七八种,理解和掌握各种排序算法似乎是一个合格的程序员所必须要掌握的。今天想要和大家分享快速排序算法的Javascript的实现。快速排序(Quicksort),又称为 划分交换排序(partition-exchange sort),最早是由东尼·霍尔提出的。基本思想快速排序使用 分治法(Divide and...
View ArticleJavaScript算法练习:Falsey Bouncer
这篇文章我们主要介绍如何通过JavaScript处理falsy值。将要完成的任务是创建一个函数bouncer(),它接受一个数组arr做为参数,并且删除所有falsy值。在大数多编程语言中都知道布尔数据类型,它可以设置为true或false。而在JavaScript中,每个值都有一个固定的布尔值,称之为truthy或falsy。在JavaScript中,我们可以通过逻辑来处理,达到我们预期想要的效果...
View ArticleJavaScript算法练习:从数组中寻找元素并删除元素
今天的任务中创建一个destroyer()函数,其功能是对所给的数组根据参数删除这些元素。也就是说给destroyer()传入一个参数arr,而且这个参数是类似这样的[1,2,3,4,5,2,3,1,3],1,3,要做的事情就是从数组[1,2,3,4,5,2,3,1,3]删除所有的1和3元素。实现思路知道要完成的任务之后,要有一个实现思路,其简单的可以概括为:通过arguments对象将所有参数包装...
View ArticleJavaScript算法练习:将一个数插入数组并返回其索引值
今天在这篇文章要完成的算法练习是:将一个数按照大小顺序插入到一个数组中,并且找出这个数在该数组中的索引值。任务将创建一个函数where()并且给这个函数传入两个参数,其中一个参数是数组arr,而另一个参数是num。函数where()要完成的功能是,将参数num按照大小顺序插入到数组arr中,并且找出num在该数组中的索引值。测试用例where([1,2,3,4],...
View Article给用户界面添加缓和效果(Easing Curves)
自从Web界面引入平面设计之后,动画的质量变得越来越重要。通过给界面添加动画效果,可以直接影响产品的整体风格,动画也可以让复杂的交互变得简单,优秀的动画设计也能更好的提高用户体验。但如何创建一个高质量的动画呢?Easing Curves就变得很重要,它也成为动画的一个核心功能,能让动画变得更棒。问题是,了解Easing...
View ArticleJavaScript算法练习:Caesars Cipher
这篇文章将要练习的是回转13位密码(ROT13)。维基百科是这样描述ROT13的:套用ROT13到一段文字上仅仅只需要检查字符字母顺序并替换它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。...
View ArticleJavaScript算法练习:找出字符串中最长的单词并输出其长度
今天的练习是找出字符串(可能是一句话)中最长的单词并且将其长度输出。这个算法其实就是让我们看看字符串中有多少个词,每个词有多少个字母,然后对这些词进行比较,找出字母数最多的那个词,并且返回这个最长字符数单词的长度。实现上面描述的功能,同样先创建一个函数,比如findLongestWord(),并且给这个函数传入一个arr参数,这个arr是一个包含多个词的字符串。然后在函数通过以下几步来实现所需的功能...
View ArticleJavaScript算法练习:字尾确认
字尾确认指的是对所给的字符串(第一个参数)确认是否是以第二个参数结尾,如果是则返回true,否则返回false。也就是说,今天要做的任务是创建一个end()函数,并且给这个函数传入两个参数str和target。如果target和str末尾相同,则返回true,反之则返回false。实现思路知道要做的事情,我们就可以简单的拆分一下,实现end(str,target)函数的思路:运用String.pro...
View Article移动端重构实战系列6——Icon与图片
”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析,首发在imweb和w3cplus两大站点及“前端Talk”微信公众号,其余所有标注或没有标注来源的均为转载。“——imweb 结一本篇主要从Icon及图片说下移动端重构碰到的一些问题及实践方法。Icon对于Icon的问题多数都集中在颜色和大小上,所以sheral采用了SVG...
View Article一个方便定制及扩展的UI组件库:sheral
sheral是什么简单来说,sheral是个UI库,目前拥有25+常用移动端组件(如btn, card, media, nav, dialog, toast等),同时允许用户非常方便扩展及定制属于自己的组件。但是sheral决不只限于UI库,它还拥有了30+ Sass...
View Article具有可访问性的SVG
可缩放矢量图形(SVG)作为当今新兴的图形格式,在Web应用中往往更受偏爱。你是否也放弃了icon font或者因为浏览器对SVG良好的支持使其取代了旧的jpg、gif以及png图像格式?接下来就让我们看看这将如何影响用户的辅助功能(AT)以及如何确保每个用户都可以拥有良好的用户体验。图形以及可替换文本在开始这篇文章之前,我们先考虑一下图形、可访问性以及可替换文本。1....
View Article移动端重构实战系列7——环形UI
”本系列教程为实战教程,是本人移动端重构经验及思想的一次总结,也是对sandal及sheral UI的一次全方位剖析,首发在imweb和w3cplus两大站点及“前端Talk”微信公众号,其余所有标注或没有标注来源的均为转载。“——imweb 结一圆形进度条具体Demo效果可见:sheral...
View Article我所知道的所有的响应式网站排版
响应式排版是一个棘手的问题。下面这段代码是我一开始写响应式网站时所能想出来的最好的方法:p { font-size: 16px; } @media (min-width: 800px) { p { font-size: 18px; } } /* Repeat for h1 - h6 and other type groups */...
View ArticleCSS Scroll Snap Points简介
介绍这个新CSS属性之前,我想要先讲一下使用JavaScript实现的一个功能—— 将一个元素锁定在滚动视窗之中。众所周知,使用JavaScript实现滚动的行为还是有些难度的。CSS Scroll Snap Points...
View Article前端开发中的一些黑魔法Pt2
上一篇介绍了前端开发中的九个黑魔法,比如链接的嵌套、破裂图片美化、表格列高亮显示、内联文本背景颜色设置、响应式EDM等,那么这篇文章继续根据@Vitaly Friedman在今年3月份分享了一个主题《Dirty Tricks From The Dark Corners Of...
View Article