axios中对cookie的封装

function isStandardBrowserEnv() { if(typeof navigator !== 'undefined' && navigator.product === 'ReactNative'){ return false; ...

2017-09-29 16:07:56

阅读数 1588

评论数 0

axios用utils

有幸读了一下axios源码,一些utils的实现比较有趣// begin with <>:// or // function isAbsoluteUrl(url) { // RFC 3986 defines scheme name as a sequence of charac...

2017-09-29 14:13:32

阅读数 406

评论数 0

归并排序

归并排序是分治思想的一种实现。function mergeSort(arr){ if(arr.length <= 1) return arr; var mid = Math.floor(arr.length/2); var leftArr = arr.slice(0,...

2017-09-22 23:36:55

阅读数 127

评论数 0

new模拟实现

function newFactory(){ var obj = new Object(); var args = arguments; fn = args.shift(); obj.__proto__ = fn.prototype; var result ...

2017-09-21 23:20:56

阅读数 124

评论数 0

函数节流与防抖(参考lodash)

function debounce(fn, delay, immediate){ var timeout, args, context, timestamp, result; var later = function(){ ...

2017-09-21 23:15:42

阅读数 3560

评论数 0

深拷贝与浅拷贝实现(参考jquery)

var toString = [].toString, hasOwn = Object.prototype.hasOwnProperty; var types = { '[object Boolean]':'bool', '[object Number]' : 'numbe...

2017-09-21 23:13:06

阅读数 168

评论数 0

jquery无new构造

var jquery = function(selector, context){ return new jquery.fn.init(selector, context); } jquery.fn = jquery.prototype = { init: function(sel...

2017-09-21 23:10:10

阅读数 148

评论数 0

策略模式实现(验证)

// 定义策略 var strategy = { isNotEmpty: function(value, errorMsg){ if(value === ''){ return ...

2017-09-21 23:07:45

阅读数 165

评论数 0

旋转数组中的最小数字

把一个递增排序数组的前几个元素移动至末尾,找出最小的数字。 例如: [3,4,5,1,2]就是数组[1,2,3,4,5]的旋转。找出1。function Minnum(arr){ if(!Array.isArray(arr) || arr.length <= 1) { ...

2017-08-08 23:39:11

阅读数 107

评论数 0

背包问题

完全背包问题function getMaxGold(n,w,g,p){ var nextGold, results = []; for(var i = 0; i <= w; i++){ ...

2017-07-31 23:45:46

阅读数 112

评论数 0

http缓存

什么是缓存 缓存是指对存储资源的一份拷贝,下次请求资源的时候即可使用这一份拷贝。当web缓存发现请求的资源已经被存储,会拦截请求,返回该资源的拷贝,而不会去we服务器重新下载。 为什么需要缓存 1、减少带宽 2、缓解服务器压力 3、提升网站的性能(*):可以减少用户等待的时间,可以使得网...

2017-07-30 23:11:27

阅读数 131

评论数 0

最小支撑(生成)树的prim算法 java

package prim; import java.util.*;public class Prim { static int MAX = Integer.MAX_VALUE; public static void main(String[] args) { ...

2017-06-25 15:39:17

阅读数 164

评论数 0

求数组子数组之和的最大值

方法:最简单的方法就是把所有子数组遍历一遍求和找最大值。 显然有更好的方法。 我们考虑长为N的一个数组arr的最后一个元素arr[N-1]与前N-1项的和最大连续子数组的关系,有三种情况: 1、等于arr[N-1] eg:[1,-3,5] 2、以arr[N-1]结尾 eg:[2,-...

2017-06-24 17:34:44

阅读数 139

评论数 0

如何让height:100%起作用

首先要了解浏览器是如何计算高度和宽度的。 Web浏览器在计算有效宽度时会考虑浏览器窗口的打开宽度。如果你不给宽度设定任何缺省值,那浏览器会自动将页面内容平铺填满整个横向宽度。 但是高度的计算就完全不同了,事实上,浏览器根本就不计算内容的高度,除非内容超出了视口(出现滚动条),或者你给父级设定了...

2017-06-21 18:34:06

阅读数 128

评论数 0

Canvas与SVG的比较

SVG是一种使用XML描述2D图形的语言 基于XML,意味着SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。 在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。 Canvas 通过 Ja...

2017-06-19 23:15:32

阅读数 323

评论数 0

DOM与HTML DOM的区别与联系

DOM分为三部分: 1、核心DOM:遍历DOM树、添加新节点、删除节点、修改节点 2、HTML DOM:以一种简便的方法访问DOM树 3、XML DOM:准用于操作XML文档核心DOM与HTML DOM的区别: 核心DOM: 对象:Document/Node/ElementNode/Te...

2017-06-19 23:10:46

阅读数 854

评论数 0

promise的实现原理

以node EventEmitter为核心实现基础版promise//利用node EventEmitter实现promise var Promise = function(){ EventEmitter.call(this);//显式调用构造函数 } ut...

2017-06-19 19:35:10

阅读数 777

评论数 0

js引擎的垃圾回收原理

js引擎所需内存的分配以及无用内存的回收完全实现了自动管理。这种垃圾回收机制原理很简单:找出那些不再继续使用的变量,然后释放其占用的空间。为此垃圾收集器会按照固定的时间间隔(或者代码执行中预定的收集时间),周期性的执行这一操作。 我们分析下函数中局部变量的正常生命周期。局部变量只在函数执...

2017-06-17 15:19:43

阅读数 325

评论数 0

H5离线缓存

H5的离线缓存,主要有两个方面,一方面是在meta中设置manifest属性来告知浏览器进行缓存,另一方面就是使用localStorage。一、使用manifest1、介绍 manifest是一个后缀名为.manifest的文件,从文件中定义需要缓存的文件,支持manifest的浏览器,...

2017-06-16 20:18:21

阅读数 347

评论数 0

hash模式实现前端路由

function Router() { this.routes = {}; this.currentUrl = ''; } Router.prototype.route = function(path, callback) { thi...

2017-06-15 20:27:49

阅读数 246

评论数 0

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