自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_25461519的博客

前端菜鸟

原创 JS异步回调Async/Await与Promise

promise是为解决ES6异步回调而生的,为了避免出现回调地狱,那为什么又需要Async/Await呢? 什么是Async/Await? 1.async/await是写异步代码的新方式,以前的方法有回调函数和promise 2.async/await是基于promise实现的,她不能用于普...

2018-09-17 15:17:35

阅读数 170

评论数 0

原创 setTimeout和setInterval的区别

这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。不过两者各有各的应用场景。 实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。 不过这两个函数...

2018-08-13 16:35:00

阅读数 56

评论数 0

转载 js中块级作用域和函数作用域的区别

为什么需要块级作用域? ES5只有全局作用域没和函数作用域,没有块级作用域,这带来很多不合理的场景。 第一种场景,内层变量可能覆盖外层变量: var tmp = new Date(); function f(){ console.log(tmp); if(false){ ...

2018-08-13 10:40:11

阅读数 1266

评论数 0

原创 如何实现每执行一次函数,结果都会自增1

function f(){ var cnt=0; return function(){ return ++cnt;} } var fa=f();//将函数f的的返回值给变量fn console.log(fa());//1 console.log(fa());//2 console.log(fa()...

2018-08-07 15:23:30

阅读数 2212

评论数 0

转载 如何实现浏览器内多个标签页之间的通信?

调用localstorge、cookies等本地存储方式。 方法一: localstorge在一个标签页里被添加、修改或删除时,都会触发一个storage事件,通过在另一个标签页里监听storage事件,即可得到localstorge存储的值,实现不同标签页之间的通信。   &am...

2018-08-04 16:24:44

阅读数 68

评论数 0

转载 Vuex的单向数据流

随着前端的项目的越来越复杂,出现了一堆概念来降低开发的复杂性。单向数据流就是其中一个。 如果项目很简单,不需要用单向数据流。 单向数据流是什么 单向数据流指只能从一个方向来修改状态。下图是单向数据流的极简示意: 单向数据流的极简示意 与单向数据流对对应的是双向数据流(也叫双向绑定)。...

2018-08-04 10:35:45

阅读数 1769

评论数 1

原创 函数去抖和函数节流

函数节流和去抖的出现场景,一般都伴随着客户端 DOM 的事件监听。举个例子,实现一个原生的拖拽功能(不能用 H5 Drag&Drop API),需要一路监听 mousemove 事件,在回调中获取元素当前位置,然后重置 dom 的位置(样式改变)。如果我们不加以控制,每移动...

2018-08-04 10:31:56

阅读数 86

评论数 0

原创 setTimeout(fn, 0) 的作用

调用 setTimeout 函数会在一个时间段过去后在队列中添加一个消息。这个时间段作为函数的第二个参数被传入。如果队列中没有其它消息,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完。因此第二个参数仅仅表示最少的时间,而非确切的时间。 零延迟 (Zero...

2018-08-02 16:03:52

阅读数 160

评论数 0

原创 RESTful是什么?

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。表述性状态转移(REST)是一组架构约束条件和原则,而满足这些约束条件和原则的应用程序或设计就是RESTf...

2018-08-02 15:40:23

阅读数 48

评论数 0

原创 https的握手过程

https并非是应用层的一种新协议,它只是在http通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。 浏览器使用http时,直接同tcp通信;当浏览器使用https时,浏览器会先同TLS/SSL进行通信,然后...

2018-08-02 10:46:25

阅读数 1247

评论数 0

原创 详析cookie和session到底是什么?

一.什么是Cookie Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户...

2018-08-02 10:37:20

阅读数 144

评论数 0

原创 详细介绍缓存的几种方式

对于Web前端而言,cache可以说是无处不在,通常是2个环节之间,就会引入一个cache做为提升整体效率的角色。例如A和B两者之间的数据交换,为了提升整体的效率,引入角色C,而C被用于当做热点数据的存储,或者是某种中间处理的机制。 也就是我们常常说的“空间换时间”,牺牲一部分代价,来换取整体效...

2018-08-02 10:29:58

阅读数 654

评论数 0

原创 在使用rem适配移动端时,如何改变根元素的字体大小?

rem和em相对单位长度我们经常用在响应式开发中,rem 和 em 单位是由浏览器基于你的设计中的字体大小计算得到的像素值。em 单位基于使用他们的元素的字体大小。rem 单位基于 html 元素的字体大小。em 单位可能受任何继承的父元素字体大小影响。rem 单位可以从浏览器字体设置中继承字体大...

2018-08-02 10:16:28

阅读数 2214

评论数 0

原创 canvas画矩形和svg画矩形的方法

1.canvas画矩形 <!doctype html> <html> <head> <!--canvas画矩形--> ...

2018-08-02 10:03:51

阅读数 302

评论数 0

原创 怎么解决跨域的问题

跨域感觉是面试里被问到的概率最高的几个问题之一,所以准备好好总结一下。 一、通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。 比如,有个a.html页...

2018-08-01 21:21:14

阅读数 95

评论数 0

转载 js几种请求方式的对比(XHR,jQuery中的ajax,fetch,axios)

开发过程中,我们向服务端发送请求,一般会使用三种方式, XMLHttpRequest(XHR),jQuery实现的AJAX,Fetch ,让我们首先来比较一下这三者的使用示例。 XMLHttpRequest var xhr; if (window.XMLHttpRequest) {  // ...

2018-08-01 20:41:26

阅读数 666

评论数 0

原创 apply,call,bind的区别

首先,call()和apply()就是改变函数的执行上下文,也就是this值。他们两个是Function对象的方法,每个函数都能调用。他们的第一个参数就是你要指定的执行上下文,第二个用来传递参数(说第二个不准确,应该说第二部分,因为参数可以传多个),也就是传给调用call和apply方法的函数的参...

2018-08-01 20:22:45

阅读数 80

评论数 0

转载 websockt原理

WebSocket原理及技术简介 Siwind原创 WebSocket用于在Web浏览器和服务器之间进行任意的双向数据传输的一种技术。WebSocket协议基于TCP协议实现,包含初始的握手过程,以及后续的多次数据帧双向传输过程。其目的是在WebSocket应用和WebSocket服务器进行频...

2018-08-01 10:01:52

阅读数 539

评论数 0

原创 canvas绘图不清晰的解决办法

用canvas绘图,发现图像和文字变得模糊了,因为是跑在ios上,开发用的mac,于是查了下资料,发现ios4-ios6屏幕分辨率:设备分辨率 = 1 : 2,也就是说,我们用canvas画的图1个点对应的其实是被横向纵向放大了2倍的,基于些,我用了如下两种解决方案解决模糊, 方法一:先看效果图...

2018-08-01 09:56:14

阅读数 1387

评论数 0

原创 canvas、svg与flash

在前端开发中我们做动画主要有四种方式:CSS的animation和transition;canvas;svg动画;flash动画。今天我们主要来看看cancas、svg与flash。 1.区别 canvas画出的图形都是附在canvas区域之上,但图形都是不可操作的,如果要操作图形,就是直接操...

2018-08-01 09:48:48

阅读数 224

评论数 0

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