订阅我们的最新JavaScript通讯,点击此处订阅
新年快乐,SitePoint JavaScript的读者们!希望大家假期愉快(对那些休假的人来说),并准备好以全新的姿态迎接2017年。
2016年对JavaScript来说是疯狂的一年!我们见证了ES6的日益普及和渐进式Web应用的兴起。此外,Yarn作为npm的竞争对手出现,JavaScript疲劳也成为了一个话题。如果您错过了这些内容,或者只是想回顾过去的一年,我们已经为您准备好了。Craig Buckler在他的文章《JavaScript:2016年回顾》中回顾了这些事件以及更多内容。非常值得一读。
展望2017年,我有两个疑问。今年会像去年一样疯狂吗?在接下来的365天里,我应该把学习重点放在哪里?第一个问题的答案是“几乎肯定”,但第二个问题的答案则比较复杂。知道学习什么在很大程度上取决于你的情况,例如,你是否在找新工作?你想提高目前工作的效率吗?或者你想尝试一些新技术,看看它们与你已经掌握的技术相比如何?
如果您属于最后一组,我们也为您准备好了。Tim Severien在2017年初回顾了三个值得关注的库。我鼓励您阅读这篇文章,并让Tim知道您是否同意他的选择(剧透:其中一个是Vue.js)。
至于我,我决定2017年的目标之一是减少使用jQuery。这并不是因为我突然加入了反jQuery的阵营。我没有。而是因为jQuery在刚出现时非常棒,以至于今天我经常在不经意间使用它。我没有停下来考虑浏览器本身的功能。
事实上,这种jQuery“节食”效果相当不错。例如,我最近需要选择一个元素最近的父元素,它是一个锚标签。在jQuery中,这不成问题,你会使用$el.closest("a")
,但在原生JS中,我不确定。所以我访问了youmightnotneedjquery.com,输入“closest”作为搜索词,结果没有结果。嗯……不太理想。
我尝试自己编写解决方案,并想出了这个:
<code class="language-javascript">while (el.parentNode.tagName !== 'A') { el = el.parentNode; }</code>
它有效,但有点丑陋。然后我搜索了一下,发现Firefox和Chrome都原生实现了element.closest()
。这就是我所需要的。搞定!
显然,用实验性的浏览器特性替换jQuery并非总是可行。如果您担心与旧版浏览器的兼容性,那么使用jQuery是明智之举。在jQuery中只需几秒钟就能完成的事情,却花几分钟去搜索,这并不高效。但即使在今天,网站也会下载许多KB的JavaScript来完成多年来一直是标准DOM一部分的事情。将这种改变融入我的工作方式将迫使我更熟悉现代浏览器的功能——这是2017年值得追求的目标。
但你呢?在接下来的365天里,你将把精力集中在哪里?你打算学习一个新的框架吗(如果是的话,哪个框架)?你会尝试Node吗?或者你的目标是参加一次聚会或为开源项目做贡献?
无论是什么(或不是什么),我都想在下面的评论中听到你的想法。
以上是社论:您想在2017年学习什么?的详细内容。更多信息请关注PHP中文网其他相关文章!