CSDN前端知识共享

在积累中沉淀,在学习中总结,在探索中尝试

engine.io 原理详解

engine.io 原理详解 最近,业务中有使用到 socket.io,进行客户端与服务端的实时通信。socket.io提供的API易上手,对新手友好,这就极大提高了开发者的效率。不过,期间也有遇到很多socket.io中的坑,例如,中文乱码问题,服务端NPE问题 等。有些涉及到底层的问题,就势...

2019-01-26 22:04:03

阅读数 366

评论数 0

模板引擎:二、实现一个Json解析器

2.Js实现Json解析器 前言 本文主要对Json解析器的实现进行探讨。 如果想深入了解其原理,可以参考上一篇文章:模板引擎:一、理解Json解析器工作原理 项目github地址:https://github.com/yang657850144/parseJson ...

2018-07-21 23:29:39

阅读数 412

评论数 0

模板引擎:一、理解Json解析器工作原理

Json解析器 初衷 编写Json解析器目的是为了拓展自己的知识广度,并且通过简单的手写实践,能够深入了解一些技术细节(AST、DFA&NFA、LL(1)文法),以及便于理解目前主流的前端框架设计。 那么就通过Json,切入正题 Json Js...

2018-07-20 20:51:53

阅读数 465

评论数 0

CSS3(三)Animation 入门详解

Animation 前言 好的前端工程师,会更注重用户的体验和交互。那么动画就是将我们的静态页面,变成具有灵动性,为我们的界面添加个性的一种方式。 下面是七喜的官方主页,它就是很好的富交互样例。鼠标移动到导航栏,就会播放多种动效,给用户一种酷炫的体验。我觉得用户体验,才是前端...

2018-04-17 16:07:44

阅读数 17769

评论数 0

Git 超实用指令集合

1、Git git log日志类型 feat:新功能(feature) fix:修补bug docs:文档(documentation) style: 格式(不影响代码运行的变动) refactor:重构(即不是新增功能,也不是修改bug的代码变动) test:增加测试 build:构建过程或辅...

2019-04-13 11:55:53

阅读数 20

评论数 0

【微信小程序】 如何生成菊花码教程

如何生成菊花码教程 准备工具: postman(需要发送post数据) 生成菊花码需要三个步骤: 获取 Accesstoken 接口文档 我们需要appid 和 secret 两个字段值,其中secret 可以在公众号平台获取。 在浏览器发起一个 GET 请求,获取 Accessto...

2019-04-02 10:54:45

阅读数 149

评论数 0

Vue 源码详解之生命周期

Vue 生命周期详解 注意!!! 本文是以 vue v2.6 版本进行讲解。 源码地址 前言 在学习 Vue 的时候,应该或多或少了解过它的生命周期图示。 基本可以归纳为四个阶段 created 【初始化创建阶段】 (beforeCreate、created) mounted 【挂载渲染...

2019-04-01 17:26:00

阅读数 52

评论数 0

图解排序算法-快速排序 (Javascarpt 实现)

快速排序 核心思想: 选取一个基数,保证左边的数都小于这个基数,右边的数都大于这个基数。然后递归执行上述步骤 时间复杂度 O(nlgn~n^2) 最好情况O(nlgn): 在数组中,每次选取的基数都恰好是最数组的 n/2 的位置。 如下图: 递归的总次数就等于二叉树的层数( k )...

2019-03-30 13:20:35

阅读数 45

评论数 0

图解排序算法-冒泡排序 (Javascarpt 实现)

冒泡算法 “冒泡”的由来 按照气泡在水中上浮的顺序进行模拟的一种算法,一般较大的气泡上浮越快,较小的气泡则在其后。 核心思路:在数组遍历时,当遇到较大的数值时,将较大的数往后交换,直至本轮比较结束。然后进行下一趟比较。 时间复杂度 O(n^2) 遍历一趟需要的时间复杂度为 O(n),一共需要进...

2019-03-30 11:16:58

阅读数 23

评论数 0

ES5: reduce 你不知道的黑科技

ES5: reduce 你不知道的黑科技 简介 reduce 相当于一个累加器的概念,通过遍历数组,获取上一个值与当前值,通过回调函数处理,返回一个新值。而该值将会当做下一次执行的prev返回。 语法 MDN 文档定义 arr.reduce(function(prev,cur,index,or...

2019-03-24 14:39:49

阅读数 23

评论数 0

Vue2.0 实现锚点定位网页元素位置

问题描述 vue2.0: 如何通过锚点定位网页元素位置? 原理 可以通过scrollTop属性,该属性可以获取或设置一个元素的内容垂直滚动的像素数。 语法 // 获得滚动的像素数 var intElemScrollTop = document.querySelector('.anchor')...

2019-03-20 15:13:23

阅读数 30

评论数 0

算法:两数之和求下标(递归解法)

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为...

2019-03-16 10:31:26

阅读数 23

评论数 0

vue 使用v-for 动态修改class

问题描述 通过v-for指令,按照index动态生成class 例如: .item-1 .item-2 .item-3 .item-4 .item-5 其中,1,2,3,4,5为循环遍历的下标。 源码实现 <template> &...

2019-03-14 17:53:05

阅读数 120

评论数 0

【解决方案】Webpck Tapable.plugin is deprecated. Use new API on `.hooks` instead xxx

问题 在执行webpack构建过程中,出现 DeprecationWarning: Tapable.plugin is deprecated. Use new API on .hooks instead emit告警问题。 分析原因 这是因为使用的webpack插件中,使用了旧的API导致的。 ...

2019-03-14 10:46:03

阅读数 36

评论数 0

谈谈浏览器的缓存机制

谈谈浏览器的缓存机制 概述 缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。在开发过程中随处可见,小到Javasript作用域内的变量存储,大到使用CDN使静态资源的分布存储到缓存服务器上等。缓存的简单解释就是将我们的计算结果储存,当下一次计算时,可以将保存的结果值快速返回。(类似于C...

2019-03-03 19:11:30

阅读数 65

评论数 0

MVVM框架设计分析(以vue.js为例 )

MVVM 框架设计 MVVM 框架已经成为前端圈的主流,同时也诞生了很多优秀的前端框架,有最早的Angular,以及后起之秀Vue、React等,为我们开发者提供了极大的便利。那么,什么样的框架设计才算是MVVM框架呢? MVVM框架的前身 最早使用Java开发的程序员应该了解过,当时有一种J...

2019-03-02 18:04:55

阅读数 115

评论数 0

浅谈Model–View–Controller(MVC)模型

MVC 架构 引用自 WiKi: MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 结构示意图 通过下图可以看到, 视图(View)层: 一般指可视化界...

2019-02-28 21:12:20

阅读数 538

评论数 0

serviceworker 离线缓存化(附源码)

serviceworker 离线缓存化 本文源码 概述 Service Worker 是HTML5 的一个新特性,主要用来做持久的离线缓存。 作用 这个 API 的唯一目的就是解放主线程,Web Worker 是脱离在主线程之外的,将一些复杂的耗时的活交给它干,完成后通过 postMessa...

2019-02-25 20:30:28

阅读数 124

评论数 0

excel表格操作之数据分级统计

常见的excel表格操作 概述 因为近期有大量数据统计,需要用到excel进行数据分析,所以,整理一些常用操作藉以分享之。 1.条件分组 目标: 通过fmp数据值,进行分级显示。 数据源如下表: 使用语句: B2是指数据表格中的第二行,等级分为: 优: <=1300m...

2019-02-25 15:56:03

阅读数 59

评论数 0

socket.io 原理详解

socket.io 原理详解 在上一篇文章中,我们了解到 socket.io 是 基于engine.io 进行封装的库。 所以对engine.io不清楚的童鞋可以点击进行了解: engine.io 详解 1.概述 socket.io 是基于 Websocket 的Client-Server ...

2019-01-27 21:38:02

阅读数 702

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭