前端开发周报: CSS 布局方式方式与JavaScript数据结构和算法
1、常见 CSS 布局方式
详见: 一些常见的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、双飞翼布局等。
http://cherryblog.site/common-CSS-layout.html
2、几种 JavaScript 动画库推荐
JavaScript 库对设计师和开发人员来说,都是非常有用的工具。它们可以为你的网站添加一些超级强大的功能,给用户带来更好的体验。
http://www.tuicool.com/articles/ruQreaz
3、JS 命名与注释规范详解
从事前端开发也有一段时间了,一直在遵循着规范化开发,从 js 也逐渐转向了 ts ,在这个过程中也有了很多收获,在此把自己的开发心得写下来。 本文参考了 JavaScript 开发规范 ,并做了补充和修改,同时删去了框架开发相关的内容。
http://foreverz.cn/2017/08/23/JS%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83/
4、JavaScript数据结构和算法
数据结构和算法对于很多前端工程师来说,一直觉得是可有可无的,但其实不然,个人觉得,前端工程师其实是最需要重视数据结构和算法的人,因为前端所做的东西是用户访问网站第一眼看到的东西,特别在移动浪潮到来之后,对用户体验越来越高,对前端提出了更高的要求,面对越来越复杂的产品,需要坚实的数据结构和算法基础才能驾驭。 如果没有学习过计算机科学的程序员,当我们在处理一些问题时,比较熟悉的数据结构就是数组,数组无疑是一个很好的选择。但很多时候,对于很多复杂的问题,数组就显得太过简陋了,当学习了数据结构和算法之后,对于很多编程问题,当想到一个合适的数据结构后,设计和实现解决这些问题的算法就手到擒来。
https://github.com/zoro-web/blog/issues/4
5、JavaScript数据类型的存储
一个很基础的知识点,JavaScript中基本数据类型和引用数据类型是如何存储的。 由于自己是野生程序员,在刚开始学习程序设计的时候没有在意内存这些基础知识,导致后来在提到“什么什么是存在栈中的,栈中只是存了一个引用”这样的话时总是一脸懵逼。。 后来渐渐的了解了一些内存的知识,这部分还是非常有必要了解的。
http://axuebin.com/blog/2017/08/24/javascript-data-storage/
6、iframe和HTML5 blob实现JS,CSS,HTML直接当前页预览
这前端代码效果实时预览的需求实际上是非常常见的,例如jsbin,codepen,runjs之类的网站就是满足此需求的。传统做法是这样子的,会新建一个另外的独立页面,专门用来接收传入的前端代码,通过新开窗口或者嵌入iframe页面的方式达到最终效果,其中可能会用到 HTML5 postMessage等通信技术 。本文讲述 借助iframe和blob实现前端代码的实时预览。
http://www.zhangxinxu.com/wordpress/2017/08/iframe-html5-blob-code-view/
7、浅谈JavaScript中的接口实现
接口是面向对象JavaScript程序员的工具箱中最有用的工具之一。在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个概念的重要性可见一斑。但问题在于,在JavaScript的世界中,没有内置的创建或实现接口的方法,也没有可以判断一个对象是否实现了与另一个对象相同的一套方法,这使得对象之间很难互换使用,好在JavaScript拥有出色的灵活性,这使得模拟传统面向对象的接口,添加这些特性并非难事。接口提供了一种用以说明一个对象应该具有哪些方法的手段,尽管它可以表明这些方法的含义,但是却不包含具体实现。有了这个工具,就能按对象提供的特性对它们进行分组。
http://developer.51cto.com/art/201708/548703.htm
8、深入理解 JavaScript 中的 this
你是否经常被JavaScript中的this关键字搞晕? 不用太过于当心, 很多JavaScript的初学者都被它搞晕过. 你不是一个人在战斗. 话虽如此, 但这并不意味着你可以永远不用理解this. 不管是在JavaScript中还是在许多教程中, 都广泛的使用this, 所以掌握this是迟早的事. 一旦你理解this, 就会觉得它实际上比你想象的简单许多. 读过这篇文章以后, 你就会深入理解this的秘密. 到时候你就知道它是什么, 它做什么以及如何使用它.
https://zhuanlan.zhihu.com/p/28704724
9、如何编写轻量级 CSS 框架
想说的东西很多,却又无从说起。如今轻量级框架如雨后春笋,层出不穷。我想每个人都应该归纳总结工作中的常见需求,编写一套适合自己的 CSS 框架。 (by nzbin)
http://web.jobbole.com/92035/
10、JavaScript 中的执行上下文和调用栈是什么?
详见: 一篇文章带你了解 JavaScript 基本概念之执行上下文。在本文中,作者将帮助你理解 JavaScript 解释器是如何执行你的代码的。
http://zcfy.cc/article/what-is-the-execution-context-amp-stack-in-javascript-by-david-shariff-4007.html
11、JavaScript精进之路 — 异步的实现(上)
程序中现在运行部分和将来运行部分的关系就是异步编程的核心。简单来讲,如果程序中出现了一部分要在现在运行(顺序同步执行),一部分要在将来运行(可能是设置了timeout也可能是一个ajax的异步调用后执行的函数),那么两者之间的关系的构建就构成了异步编程。
https://segmentfault.com/a/1190000010791199
12、深度好文 | JavaScript 疲劳终极指南:我们行业的真相
上周我在 NebraskaJS 2017 会议上做了一个和这个话题极其类似的演讲,我也收到了许多积极的反馈,所以我就想这个演讲也可以写成一篇文章发表出来,让更多的人知道,并帮助他们应对 JS 疲劳,理解我们行业的真相。 这篇文章的目的是希望改变你对软件工程行业的普遍的看法,助你在你可能工作的领域上一臂之力。
https://zhuanlan.zhihu.com/p/28650844
13、在JavaScript中实现队列
队列和栈非常类似,但是使用了不同的原则,而非后进先出。 队列是遵循FIFO(First In First Out,先进先出, 也称先来先服务)原则的一组有序的项。队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。 在现实中,最常见的例子就是排队: 排在第一位的人会先接受服务。
http://alloween.top/2017/03/26/在JavaScript中实现队列/
14、深入浅出 Web Audio Api
Web Audio API 需要在音频上下文中处理音频的操作,并具有模块化路由的特点。基本的音频操作是通过音频节点来执行的,这些音频节点被连接在一起形成音频路由图。我们可以从上面这段文字中提取出几个关键词: 音频上下文 音频节点 模块化 音频图 我将会以这些关键词为开始,慢慢介绍什么是 Web Audio Api,如何使用 Web Audio Api 来处理音频等等。
https://juejin.im/post/599e35f5f265da246c4a1910
15、2017年8月前端开发者超实用干货大合集
在过去的几年当中,网络上所流传的各种设计和开发资源,在素质上有明显的提升。其中有一些已经几乎成为了设计师和开发者必备的工具,但是其中绝大多数由于其应用范畴的局限,或者传播不够广,导致它们大多并广为人知。将这些素材集中到一起,很大程度上是希望它们的目标用户能够明白,需要这些工具的时候,上哪儿找。 这次的前端干货合集内容也很齐全,仔细看看,总能找到几款你所需要的。
https://juejin.im/entry/599b90b251882524481c7f51
16、个人总结(css3新特性)
css3这个相信大家不陌生了,是个非常有趣,神奇的东西!有了css3,js都可以少写很多!我之前也写过关于css3的文章,也封装过css3的一些小动画。个人觉得css3不难,但是很难用得好,用得顺手,最近我也在过一遍css3的一些新特性(不是全部,是我在工作上常用的,或者觉得有用的),以及一些实例,就写了这一篇总结!希望,这篇文章能帮到大家认识css3。写这篇文章主要是让大家能了解css3的一些新特性,以及基础的用法,感觉css3的魅力!如果想要用好css3,这个得靠大家继续努力学习,寻找一些讲得更深入的文章或者书籍了!如果大家有什么其他特性推荐的,欢迎补充!大家一起学习,进步!
https://segmentfault.com/a/1190000010780991
17、Vue 插件编写与实战
本文立足vue开源的理念,主要为vue开发者讲解编写vue插件的方法和步骤,通过理论与实践相结合的方式来加深大家对vue插件编写的认识。
https://juejin.im/post/599c18b2f265da249823f21f
18、Ajax的全面总结
Ajax在前端开发中有着举足轻重的地位,关于Ajax的使用和注意事项一直是一个重要的话题,借此机会,本文希望对Ajax做一个全面的总结,彻底揭开Ajax的神秘面纱。 一.什么是AjaxAjax(Asynchronous JavaScript and XM...
https://segmentfault.com/a/1190000010832550
19、HTTP缓存机制详解
Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。 但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。 在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP缓存机制,期望对各位正确的理解前端缓存有所帮助。
https://segmentfault.com/a/1190000010775131
20、Vue.js数据绑定原理
Vue.js是一款MVVM框架,上手快速简单易用,通过数据绑定在修改数据的时候更新视图。Vue.js的数据绑定原理依赖于Object.defineProperty,尤大大在Vue.js文档中就已经提到过,这也是Vue.js不支持E8 以及更低版本浏览器的原因。Vue通过设定对象属性的 setter/getter 方法来监听数据的变化,通过getter进行依赖收集,而每个setter方法就是一个观察者,在数据变更的时候通知订阅者更新视图。
https://juejin.im/post/599aac10f265da24874cffef
过去一周发表了哪些好文章:
回复数字告诉我最需要哪些方面的文章,或者这周发表的文章有没有你喜欢的,欢迎收藏备份,关注我,每天都能收到最新有用的前端开发知识。你不会后悔的。
喜欢这篇文章的朋友,欢迎关注、收藏、分享、评论,帮我上热门,你的支持,是我每日更新的动力!
喜欢前端开发的朋友可以点击关注一下我,每日分享精彩的前端文章!