SF
前端与生活
前端与生活
注册登录
关注博客
注册登录
主页
关于
RSS
Vue中 key keep-alive
zhangguixu
2018-09-17
阅读 2 分钟
5.9k
keep-alive key {代码...} key是标识元素不再被复用,注意key是Vue中的一个保留的属性,不能作为prop传递给子组件,否则会在控制台看到Vue的报错 但是keep-alive标识不重复创建组件实例,也就是只会触发一次created mounted事件, 利用两者可以对组件的复用进行比较精细的管理
window环境下搭建vim前端开发环境
zhangguixu
2017-09-17
阅读 6 分钟
10.8k
自从换了一个poker键盘之后,对vim的热情递增,终于找一个时间,静下心来折腾一下vim,在window下使用vim着实蛋疼,不过前端开发要求不高,之前用sublime,vscode其实也没用到什么牛逼的插件,将就着用吧。
跨浏览器的事件处理程序实现总结
zhangguixu
2016-12-05
阅读 9 分钟
3.6k
本文章需要一些前置知识 事件基础知识 event对象详解 围绕着如何更好地实现一个跨浏览器的事件处理小型库展开讨论。 1. 初步实现 在《JavaScript高级程序设计》中提供了一个EventUtil的对象,里面实现了一个跨浏览器的事件绑定的API {代码...} 这是实现其实较为的简单直观,但是对于IE浏览器的处理其实有不好的地方,例...
[es6系列]学习Promise
zhangguixu
2016-12-03
阅读 9 分钟
12.8k
在Promise之前,在js中的异步编程都是采用回调函数和事件的方式,但是这种编程方式在处理复杂业务的情况下,很容易出现callback hell(回调地狱),使得代码很难被理解和维护。
[Javascript]数组去重的三种实现方式
zhangguixu
2016-12-02
阅读 1 分钟
1.9k
方式1:使用shift()获取并删除删除数组的第一个元素,判断这个元素是否还存在于数组中,如果存在则说明这个元素的是重复的;如果不存在,进行push()操作
jsonp的原理与实现
zhangguixu
2016-12-01
阅读 3 分钟
48.1k
1. 概述 jsonp是一种跨域通信的手段,它的原理其实很简单: 首先是利用script标签的src属性来实现跨域。 通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信。 由于使用script标签的src属性,因此只支持get方法 2. 实现流程 设定一个script标签 {代码...} callback定义...
Thunk深入解析
zhangguixu
2016-11-18
阅读 4 分钟
9.5k
一步步打造thunkify 本文的思路: 学习thunk相关知识,主要参考阮一峰的介绍 一步步实现thunkify模块,并且使用测试用例来完善我们的代码,打造出一个健壮的模块 1. 诞生背景 Thunk函数的诞生是源于一个编译器设计的问题:求值策略,即函数的参数到底应该何时求值。 例如: {代码...} 其中x+5这个表达式应该什么时候求值...
【node学习】协程
zhangguixu
2016-11-11
阅读 2 分钟
4.1k
我们都知道在操作系统级别上有两个重要的概念(也是实体):进程(process)和线程(thread),这两个东西是用于操作系统模拟并行的,在单个CPU上,os通过调度算法,让CPU轮流执行线程或者进程,来达到程序的并发执行。
[学习es6]setter/getter探究
zhangguixu
2016-11-02
阅读 3 分钟
16.9k
1. 背景 在es6中,我们可以用class关键字来定义类,语法如下 {代码...} 其实本质还是基于javascript原型链机制开发的语法糖,其中,本人对setter/getter进行一番研究,发现了不少坑。 2. 深入setter/getter 2.1 setter/getter的调用执行时机 {代码...} 很快,我们就会发现代码报错了 这是因为,在构造函数中执行this.nam...
【学习设计模式】通用的单例包装器
zhangguixu
2016-10-25
阅读 2 分钟
2.8k
它不同于静态类(对象),单例可以推迟初始化,这一点很重要,因为可以推迟初始化,就意味着不用过早地为单例分配内存资源,而是可以当需要使用时,才对其进行初始化,分配对应的内存空间。
JavaScript 异步编程之 jsdeferred 原理解析
zhangguixu
2016-10-19
阅读 11 分钟
6.1k
最近在看司徒正美的《JavaScript框架设计》,看到异步编程的那一章介绍了jsdeferred这个库,觉得很有意思,花了几天的时间研究了一下代码,在此做一下分享。
[学习css系列]纯css实现移入移出效果
zhangguixu
2016-09-23
阅读 1 分钟
11.4k
使用css的:hover伪类选择器来实现移入移出的效果。 {代码...} 当鼠标已入b时,就会出现c,移除b时,则c消失。效果如下:
前端基础 - 事件入门
zhangguixu
2016-09-12
阅读 5 分钟
3k
跟所有开发UI的思路一样,JavaScript与HTML之间通过事件来进行交互。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,我们使用监听器(listener/hanlder)来预订事件,当事件触发时,执行相对应的代码,这种就是传统软件工程中被成为观察者模式的模型,这种模型支持页面的行为与页面的UI之间的松散耦合。
Mocha安装示例
zhangguixu
2016-08-30
阅读 2 分钟
5.6k
搭建一个简单的项目目录结构,一般来说,我们可以将我们所编写的代码放置在src中,然后将测试的代码放置在test目录下,并且按照一定的命名可以清晰地对应测试代码和所被测试代码之间的关系。
系统学习前端之FormData详解
zhangguixu
2016-08-25
阅读 3 分钟
51.2k
FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利。
系统学习前端之表单序列化
zhangguixu
2016-08-25
阅读 2 分钟
3.4k
对表单字段的名称和值进行URL编码(调用encodeURIComponent()方法),使用&分隔,无论是get还是post请求,都是一样的
JavaScript的类型检测
zhangguixu
2016-08-16
阅读 4 分钟
3.2k
类型检测 在js中提供两种检测类型的方法,但是它们并不总是靠谱。 typeof instanceof 下面我们来看看各个类型的应该如何进行检测比较靠谱 1. 基本类型 基本类型(除null之外)的检测使用typeof,它的语法很简单 {代码...} 1.2 null 如果我们使用typeof来检测,结果会是 {代码...} 有人说这是个bug,有人说这是因为null本身...
最初,唯有时光记得
zhangguixu
2016-08-03
阅读 3 分钟
2.5k
最近在积极地学习webview,原本打算整理一下写成一篇文章。无奈时间有限,暂时没有把握把webview要学习的知识写清楚,个人也还在摸索中。此外从周末开始迁移自己的文章到gitbook上,加上处于实习的尾声,突然发现这周可能无法完成,突然有些慌,把自己写的gitbook的序拿了过来。希望能和大家分享一下我学习前端的经历。
【前端进阶之路】内存基本知识
zhangguixu
2016-07-28
阅读 8 分钟
9.8k
内存管理 本文以V8为背景 对之前的文章进行重新编辑,内容做了很多的调整,使其具有逻辑更加紧凑,内容更加全面。 1. 基础概念 1.1 生命周期 不管什么程序语言,内存生命周期基本是一致的: 分配你所需要的内存 使用分配到的内存(读、写) 不需要时将其释放、归还 在所有语言中第一和第二部分都很清晰。最后一步在低级...
模块管理的简单实现
zhangguixu
2016-07-22
阅读 3 分钟
4.1k
模块管理的简单实现方式 Keep It Simple,Stupid Q&A 1. 为什么会有这个东西? 方便组织你的代码,提高项目的可维护性。一个项目的可维护性高不高,也体现一个程序员的水平,在如今越来越复杂的前端项目,这一点尤为重要。 2. 为什么不用requirejs,seajs等 它们功能强大,但是文件体积是个问题,此外还有就是业务有...
【工具入手】Visual Studio Code
zhangguixu
2016-07-15
阅读 2 分钟
7k
之前一直用sublime,其实一直不是很满意,比如说这个输入法的bug,安装markdown之后的颜色,还有各种插件安装之后的失效,来到公司实习,折腾sublime都弄了半天,实在受不了。
页面性能优化实践总结
zhangguixu
2016-07-14
阅读 4 分钟
11.2k
页面性能优化 学而不思则惘,思而不学则殆 前几天接到一个页面效果优化的任务,边做边查阅了一些关于页面性能的资料。做完任务之后,抽空写了一篇总结,梳理一下思路,加深自己的理解。 1. chrome的timeline 先思考这样的一个问题: 什么叫页面性能好?如何进行评判? 直观上讲,我们通常会通过一个页面流不流畅来判断一...
容易混淆的client-*,scroll-*,offset-*
zhangguixu
2016-07-07
阅读 6 分钟
9.1k
offsetWidth offsetHeight offsetLeft offsetTopclientWidth clientHeight clientLeft clientTopscrollWidth scrollHeight scrollLeft scrollTop
FastClick 原理解析
zhangguixu
2016-07-01
阅读 5 分钟
23.9k
这段时间开始实习了,在公司做hybrid,专职写js,学习到了不少东西。一直好奇fastclick是如何工作,于是花了几天空余的时间一步步调试代码,学习fastclick。这篇文章可以结合者代码看,希望可以给予需要学习fastclick的人一点思路。
学习React系列2-[解读]Thinking in React
zhangguixu
2016-06-02
阅读 5 分钟
3.8k
[解读]Thinking in React 原文:[链接] 前言 Thought is the seed of action 这是放置在官方的QUICK START中的一篇博文,文章的目的是教会我们用React的方式去思考如何构建一个应用。 本文并非为了翻译,而是注重表达自己学习过程中的解读,加深对React组件化开发方式的认知,如果需要查看原文的翻译,可以戳这里 原文的...
学习React系列1-React-tutorial全解析
zhangguixu
2016-05-31
阅读 8 分钟
3.8k
近些时间一直在关注React,关于如何学习React可以参照链接的文章自行制定计划。千里之行,始于足下。本文是React官方的教程上的一个例子,通过详细地学习,从中收获不少,特此做了笔记,与大家共享交流进步。
理解原型链
zhangguixu
2016-05-27
阅读 2 分钟
14.7k
原型链是一种机制,指的是JavaScript每个对象包括原型对象都有一个内置的[[proto]]属性指向创建它的函数对象的原型对象,即prototype属性。