Welcome
LOADING。。。

那些移动端web踩过的坑2

坑是无穷无尽的,嗯…长江后坑推前坑~~

shell脚本if条件总结

shell编程中,if…then是一种常见的控制流命令,而if的条件判断一般采用内置命令test,实际上为了书写简便,大多数使用[],[]是test的同义词。这里对if条件进行一些总结记录~

Vue源码--深入模板渲染

之前整理了vue的响应式原理,在这里有一点是一直很模糊的,就是何时去new一个watcher,当data变化时又如何通知视图去进行怎样的更新…这里面涉及到了模板渲染和虚拟DOM的diff以及更新操作。其实模板渲染过程在实际使用vue的过程可能并不需要太深理解,但就vue来说,这些底层思想可以更好地让我们理解这个框架,以及了解为什么Vue的API要如此设计…

Vue源码--解读vue响应式原理

Vue的官方说明里有深入响应式原理这一节。在此官方也提到过:

当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。

官网只是说了一个大概原理,浏览了一下vue的源码以及其他关于此处的解释,这一块其实可以总结为两点:利用Object.defineProperty进行数据劫持同时结合观察者模式(发布/订阅模式)来实现数据双向绑定,这也是vue响应式原理的核心。首先先把这两个东西简单介绍一下吧~

从源码角度实现一个自己的Promise

关于Promise的概念以及意义就不在这里介绍了,最近看到了一些实现Promise的核心思想,在这里整理一下。写这篇文章并不是为了实现一个自己的Promise,毕竟现在es6已经标准支持,而且还有一大堆的第三方Promise库,主要是为了从最底层的角度深入理解一下Promise的实现思路。

Macro-task 与 Micro-task

讲道理,从16年3月入前端的坑,到现在总觉得好歹也应该够了解js了,不过最近看到关于setTimeout (fn, 0)突然让我想到了刚学js的时候就一知半解的Event Loop,还有相关的Task queue,后来听说过的Macro task,Micro task(当然只是听说,啥也不懂)。今天把最近学到的一些东西整理一下,还是从一道题开始吧~

关于一道题想到的...

最新偶然看到一个关于for + setTimeout (fn, 0)的问题,其实在面试中,我们也经常被问到关于这类问题,一般涉及到闭包,作用域和作用域链,然后关于setTimeout (fn, 0)的执行顺序,顺便可以带出一些异步执行,任务队列,时间循环的东西,关于这些自己在一年前找工作的时候了解了一些,但是也不是很透彻。当时看的是阮一峰老师的JavaScript 运行机制详解:再谈Event Loop,只是大概知道有这么个东西,但具体来说还是…一脸萌比的状态

PWA:service-worker篇

在2014年,W3C公布了service worker的草案,service worker提供了很多新的能力,使得web app拥有与native app相同的离线体验、消息推送体验。
Service Worker是PWA的核心。谷歌给以 Service Worker API 为核心实现的 web 应用取了个高大上的名字:Progressive Web Apps(PWA,渐进式增强 WEB 应用),并且在其主要产品上进行了深入的实践。

PWA:cache篇

上一篇文章介绍了Fetch API,这里主要介绍Service Worker API的另一个重要成员:Cache API。Cache 接口提供缓存的 Request / Response 对象对的存储机制,例如作为ServiceWorker 生命周期的一部分。 Cache 接口像 workers 一样, 是暴露在 window 作用域下的。尽管它被定义在 service worker 的标准中, 但是它不必一定要配合 service worker 使用。

PWA:fetch API

第一次听PWA(Progressive Web App)这个词,还是在刚入职的时候。当时刚入坑前端几个月的我还是一脸萌币的状态,只是有一种不明觉厉的感觉。后来忙来忙去的也就扔在一边了,然后最近看到裕波大大的一篇文章:震惊!苹果向开发者低头?!!开始支持Service Worker,之前都是说这东西在国内发展不起来主要是因为国内的果粉太多,而苹果对ServiceWork一直处于冷漠的观望态度- -实际上,好像并没有那么冷漠233333…废话完毕,把最近学到的东西整理下:

Site construction by 牧羊少年 usinghexo blog framework.