2020-03-16 前端开发环境的搭建 起源最原始的前端开发就是写一系列静态的html、css、JavaScript然后扔到服务器上,访问域名然后渲染网页。随着前端要求的越来越复杂,更多的工程化概念引入了进来,出现了node以及衍生出的打包工具webpack。前端的日益工程化带来了开发效率的飞跃,与此同时也带来了... Continue reading...
2018-09-30 节流与防抖 在DOM事件监听时,常见的mousemove、scroll、keydown、resize操作都可能导致在短时间内事件过于频繁的触发。如果在此时进行了DOM操作,极大可能导致浏览器运行崩溃。为了防止此类事件的发生,我们引入节流(throttle)与防抖(debounce)这... Continue reading...
2018-09-24 浅谈HTTP协议的演进 本文介绍了前端开发涉及的网络协议HTTP与WebSocket。HTTP协议部分着重介绍协议的演进与区别。而WebSocket则主要介绍来由和用法。 HTTP1.0/HTTP1.1/HTTP2HTTP协议简介 HTTP(HyperText Transfer Protoco... Continue reading...
2018-08-26 virtual DOM与diff算法(一) 前言在当今流行的MVVM框架如Vue.js、React框架中,一个重要的特性就是virtual Dom。通过其核心算法diff,高效的将数据层的变化反映在视图层中。受到了livoras同学文章的启发,下面将从三部分介绍virtual DOM与diff算法。通过了解该算法,有... Continue reading...
2018-08-14 客户端储存 随着WebApp的出现,产生了在客户端上储存用户信息的要求。下面将介绍常用的3种客户端储存方案,即cookie、localStorage、sessionStorage。通过将部分数据缓存在客户端以减少HTTP请求,可以达到性能优化的效果。 cookieHTTP cookie... Continue reading...
2018-08-02 查找 高效的检索和访问海量信息是处理它们的重要前提。查找应运而生。 下面将介绍几种经典的数据类型与查找算法,包括: 二分查找 二叉查找树 平衡二叉树(红黑树) 散列表 二分查找二分查找基于有序数组,核心思想是通过不断判断目标值所在区间而确定目标值位置的方法,核心在于不断修改中... Continue reading...
2018-07-26 再谈排序 虽然我们有了Array.prototype.sort(),但是要知其所以然。 Sedgewick在《算法中提到了》学习排序算法的意义: 对排序算法的分析有助于全面理解算法性能的不计较 类似的技术也能有效解决其他类型的问题 排序算法往往是解决其他问题的第一步 辅助工具... Continue reading...
2018-07-07 Java和JS的区别 最近在学习《算法》Sedegewick版,里面的示例代码是Java的。为了方面学习,现列出区别如下 1.运行方式的区别JS文件直接执行而Java需要编译后执行 1node BinarySearch.js 12javac BinarySearch.java #编译java ... Continue reading...
2018-04-21 腾讯前端暑期实习面试总结 至今已过去一周,还没有收到消息。所以应该是挂在了HR面上。但接连几日面试还是让我学到了不少,因此做个总结,也算是一种提高 1. 一面(技术面)4月11日本轮面试主要是对技术的考察,问题如下 css的水平垂直居中 对闭包的理解 this的用法 对css模块化的了解 vu... Continue reading...
2018-04-06 npm基础 模块的安装12$ npm install <Module Name> #本地安装$ npm install <Module Name> -g #全局安装 本地安装 将安装包放在./node_modules下(运行 npm 命令时所在的目录),如果没... Continue reading...