自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 JS转换时间戳为“刚刚”、“1分钟前”、“2小时前”“1天前”等格式

var minute = 1000 * 60;var hour = minute *60;var day = hour *24;var week = day * 7;var month = day * 30;function getTimer(stringTime){ var time1 = new Date().getTime();//当前的时间戳 console.l...

2019-11-29 17:47:36 2354 5

原创 js深拷贝与浅拷贝

前言经常会在一些网站或博客看到“深克隆”,“浅克隆”这两个名词,其实这个很好理解,今天我们就在这里分析一下js深拷贝和浅拷贝。浅拷贝我们先以一个例子来说明js浅拷贝:var n = {a: 1, b: 2}var m = nm.a = 12console.log(n.a) // ?上面显然n.a的值会变为 12,这就是js浅拷贝。浅拷贝只是拷贝的指向对象的指针,本质...

2019-11-29 14:20:17 91

原创 跨域的几种方式

什么是跨域?跨域:就是不同域之间进行相互资源请求;例如:http://www.test.com/index.com请求http://www.test01.com/server.php即进行不同的域名下的资源调用。注意:域名对应的IP地址也算是跨域操作;例:127.0.0.1和localhost虽然对应,但在地址栏中算两个域。为什么出现跨域?浏览器在解析JavaSc...

2019-11-28 17:30:53 137

原创 async和await的讲解

Script标签是我们常用的引用js脚本的一种方式。撸代码的时候,我们常常只写src属性,直接忽略其他属性。最近发现了2个可以利用的属性:async、defer。顾名思义async就是异步,在不影响其他资源加载的同时,异步加载这个文件;defer就是延迟加载。下面是高三上的解释:Async:可选属性。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载...

2019-11-26 17:55:30 191

原创 探讨css中repaint和reflow

前言:页面设计中,不可避免的需要浏览器进行repaint和reflow。那到底什么是repaint和reflow呢。下面谈谈自己对repaint和reflow的理解,以及结合其他技术牛的讲解,谈谈如何优化repaint和reflow。初步介绍:开发一个页面时,不可避免的需要进行repaint和reflow。也就只有古来的静态页面才会不存在repaint和reflow。repaint主要...

2019-11-26 16:36:58 205

原创 angular,vue,react数据双向绑定原理分析

在不同的 MVVM 框架中,实现双向数据绑定的技术有所不同。Angular数据绑定Angular 采用“脏值检测”的方式,数据发生变更后,对于所有的数据和视图的绑定关系进行一次检测,识别是否有数据发生了改变,有变化进行处理,可能进一步引发其他数据的改变,所以这个过程可能会循环几次,一直到不再有数据变化发生后,将变更的数据发送到视图,更新页面展现。如果是手动对 ViewModel 的数据进行...

2019-11-26 15:00:47 669

原创 JavaScript 中有哪些不同的函数调用模式?

1.函数调用2.方法调用3.构造器调用4.上下文形态第一种函数调用:使用函数调用模式调用函数时,非严格模式下,this被绑定到全局对象;在严格模式下,this是undefined。function A(){ console.log(this);}A();//windowfunction A(){ 'use strict'; console.log...

2019-11-21 16:52:22 103

原创 根据id和parent_id二维树形结构数据生成嵌套树形结构数据

data = [ {id: 1, parent_id: 0, name: "A"}, {id: 2, parent_id: 1, name: "AA"}, {id: 3, parent_id: 1, name: "AB"}, {id: 4, parent_id: 3, name: "ABA"}, {id: 5, parent_id: 3, name: "ABB"}, {id: 6, ...

2019-11-20 15:06:53 810

原创 SSL延迟计算:为什么HTTPs比HTTP要慢?

据说,Netscape公司当年设计SSL协议的时候,有人提过,将互联网所有链接都变成HTTPs开头的加密链接。这个建议没有得到采纳,原因之一是HTTPs链接比不加密的HTTP链接慢很多。(另一个原因好像是,HTTPs链接默认不能缓存。)自从我知道这个掌故以后,脑袋中就有一个观念:HTTPs链接很慢。但是,它到底有多慢,我并没有一个精确的概念。直到今天我从一篇文章中,学到了测量HTTPs链接...

2019-11-14 14:53:44 472

原创 HTTP2与HTTP1.1的区别

2015年推出的HTTP2较之之前的HTTP1.X有了很多改进的地方,最近看到不少关于HTPP2的介绍的文章,整理了一下写出来,便于自己后期查阅1.HTTP2使用的是二进制传送,HTTP1.X是文本(字符串)传送。大家都知道HTTP1.X使用的是明文的文本传送,而HTTP2使用的是二进制传送,二进制传送的单位是帧和流。帧组成了流,同时流还有流ID标示,通过流ID就牵扯出了第二个区别2....

2019-11-14 14:51:24 367

原创 浏览器的缓存机制

前言缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再...

2019-11-11 16:25:29 101

原创 js中树结构根据条件查找节点返回节点路径

var getPathById = function (id, catalog, callback) { //定义变量保存当前结果路径 var temppath = []; try { function getNodePath(node) { temppath.push(node.name); //找...

2019-11-08 16:16:22 2771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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