JS设计模式入门和框架中的实践

2018-02-24
阅读 4 分钟
1.4k
下面笔者就结合诸如redux的subscribe、ES6的class、vue里面的$dispatch、jquery里面的on/off来给大家简单介绍下设计模式在这些库、语法和框架中的使用。

「优秀库推荐」ppt-cli 让你优雅地做 ppt

2018-02-14
阅读 2 分钟
2.4k
ppt-cli是一款用于生成在线 slides 的 node 工具,使用它可以通过一个命令把本地甚至线上的 markdown 文件转换成HTML 文件,并拥有各种强大、可配置、神奇的功能。

JS 中 __proto__ 和 prototype 存在的意义是什么?

2018-02-10
阅读 3 分钟
3.1k
本文为饥人谷讲师方方原创文章。 你的 JS 代码还没运行的时候,JS 环境里已经有一个 window 对象了 window 对象有一个 Object 属性,window.Object 是一个函数对象 window.Object 这个函数对象有一个重要属性是 prototype,干什么用的等会说 window.Object.prototype 里面有这么几个属性 toString(函数)、valueOf(函...

webpack技术讲解及入门

2018-02-05
阅读 4 分钟
2.3k
webpack基本已经成为前端项目的标配构建工具了。然而,在一个前端团队里面,除了架构师之外,其他开发者很难有机会在工作中完整的实现整个配置流程。 本篇文章是我在公司里面分享webpack及babel配置和插件开发的一个细节版本, 希望能让大家通过阅读本文,比较好的梳理webpack工具。

每个程序员都应该读《Unix编程艺术》

2018-02-01
阅读 2 分钟
2.5k
本文为饥人谷讲师方方原创文章,首发于 前端学习指南。 我已经向饥人谷的学员不止十次地推荐过《Unix编程艺术》这本没有代码的编程书。如果你想写出优雅的代码,这本书必读。 而且,知乎上各种编程大神说话时,经常会提到什么「自底向上」、「模块化」,该书都有很详细的解释。该书用来提升bigger效果十分显著。 看不完...

重构 - 代码优化技巧

2018-01-24
阅读 3 分钟
6.6k
本文为饥人谷讲师方方原创文章,首发于 前端学习指南。 以下是我《JS深入浅出》第6课的讲义,如果对你有帮助点个赞即可 这次课讲的是「如何提高代码的可读性」,跟前端关系不大,是写代码的普遍技巧。 注意我们讲得不是「如何提高代码的性能」。 代码优化基本原则 易读性优先 如果不是性能瓶颈,就不要为了性能而改写代...

CSS Grid 系列(下)-使用Grid布局构建网站首页

2018-01-22
阅读 7 分钟
6k
当我开始一个项目,并开始计划如何布局主页时,我的大脑复现出浮动和定位。有些人可能会使用 Bootstrap 或其他框架。 那是因为这是2016年,我们一直在用这些方法来做布局。 但假设我们乘坐时光机来到2018年,所有主流浏览器都支持CSS Grid 布局模块。此时我们的页面布局模式已经完全改变,CSS的功能最终强大到能轻松实现...

前端 UI组件化的一些思考

2018-01-16
阅读 5 分钟
3.1k
最近公司推起了共用 UI 组件化的大潮,创建了一个新的 Repo 来放置共用的 UI 组件,比如下拉菜单等。出于对历史版本的表单组件的不满,我从两周前开始踏上了自己的 React 表单组件制作之路,踩了不少坑也有了不少感悟,之后也会写一篇文章关于我是如何写这个组件的(对 React 感兴趣的可以点这里 Hyo ,中文文档)。之后...

JS设计模式入门和框架中的实践

2018-01-12
阅读 4 分钟
4.1k
下面笔者就结合诸如redux的subscribe、ES6的class、vue里面的$dispatch、jquery里面的on/off来给大家简单介绍下设计模式在这些库、语法和框架中的使用。

JS 中的闭包是什么?

2018-01-10
阅读 3 分钟
12.1k
本文为饥人谷讲师方方原创文章,首发于 前端学习指南。 大名鼎鼎的闭包!面试必问。请用自己的话简述 什么是「闭包」。 「闭包」的作用是什么。 首先来简述什么是闭包 假设上面三行代码在一个立即执行函数中(为简明起见,我就不写立即执行函数了,影响读者理解)。 评论里没看完就说我写得有问题的,请看清楚哦: 上面...

十行代码实现高仿Promise

2018-01-03
阅读 4 分钟
2.6k
本文为饥人谷讲师若愚原创文章,首发于 前端学习指南。 问题 假设我们有一个需求:1. 获取用户所在的城市;2. 根据城市获取天气;3. 根据天气获取出行建议。那我们的代码应该是这样的 {代码...} 这就是典型的异步 callback 『回调地狱』,代码层层嵌套可读性很差。关于异步的解决方式可参考这篇文章 Node.js异步漫谈 使...

排序算法-N个正整数排序

2017-12-29
阅读 5 分钟
2.5k
本文为胡秉亮原创文章,首发于 前端学习指南。 一. 算法 高德纳在《计算机程序设计艺术》里对算法归纳为以下几点: 输入: 一个算法必须有零或以上的输入量 输出: 一个算法应有一个或以上的输出量 明确性: 算法的描述必须无歧义,实际运行结果是确定的 有限性: 必须在有限个步骤内结束 有效性: 又称可行性,能够被执行者实...

let 声明会提升(hoist)吗?

2017-12-27
阅读 3 分钟
4.3k
前端日子我上课的时候跟饥人谷的学生讲了《let 声明的五个特点》,其中一个就是「let 声明会提升到所在块的顶部」,然而今天早上有个学生就问我了:

Node.js异步漫谈

2017-12-25
阅读 8 分钟
6k
本文以一个简单的文件读写为例,讲解了异步的不同写法,包括 普通的 callback、ES2016中的Promise和Generator、 Node 用于解决回调的co 模块、ES2017中的async/await。适合初步接触 Node.js以及少量 ES6语法的同学阅读。

聊一聊编码与乱码的区别

2017-12-22
阅读 3 分钟
4.1k
计算机发明之后需要使用0和1来表示字符,于是美国人在50年代发明了 ASCII (美国标准信息交换代码,American Standard Code for Information Interchange) 码。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成,每个字符占7位(1字节是8位)。...

深入理解 CSS:字体度量、line-height 和 vertical-align

2017-12-21
阅读 10 分钟
3.2k
line-height 和 vertical-align 都是简单的 CSS 属性,以致于大多数人自以为知道这两个属性的工作原理。但实际上这两个属性非常复杂,也许算得上是 CSS 里最难的两个属性,因为这两个属性和 CSS 里一个鲜为人知的特性息息相关:内联格式化上下文(IFC)(译者注:和 BFC 相对应)。

来,聊一聊性能优化

2017-12-20
阅读 2 分钟
2.5k
本文为饥人谷原创文章,首发于 前端学习指南。 不管是应付前端面试还是改进产品体验,性能优化都是躲不开的话题。这里我们就简单聊一聊性能优化。 传输快 vs 体验快 优化的目的是让用户有“快”的感受,那如何让用户感受到快呢? 加载速度真的很快,用户打开输入网址按下回车立即看到了页面 加载速度并没有变快,但用户感...

代码修炼之路-木桶布局

2017-12-18
阅读 6 分钟
2k
这篇文章我们主要做三件事 讲解木桶布局的原理 把这个效果做成个UI 精美、功能完善的小项目 通过这个项目,演示如何去思考、如何去优化代码 木桶布局原理 假设我们手里有20张照片,这些照片可以在保持宽高比的情况下进行放大或者缩小。选定一个基准高度比如200px 拿第1张照片,锁定宽高比高度压缩到200px,放到第一行 拿...

JS 里为什么会有 this

2017-12-14
阅读 3 分钟
1.8k
这篇文章是从语言创造者(JS 之父的角度)来思考 this,我之前那篇讲 this 的文章是从使用者的角度写的。 本文写得并不好,因为这个概念太抽象,用视频讲会更好懂。 需求 假设我们有一个对象 {代码...} 这个 person 对象有 name 和 age 属性,还有一个 sayHi 方法,现在的需求是: 调用 person.sayHi(...),打印出「你好...

一个故事让你彻底理解 Https

2017-12-12
阅读 3 分钟
2k
一些教程经常提到 POST 比 GET提交数据更安全,真正从安全的角度来说,只要是 Http 请求,都不安全 。(补充 @王泥煤 的回复 post的确比get更安全,这一点与https无关。因为用get方式传密码会被日志系统记录下明文,或者被第三方的referer带出去,即便你采用了https)