- 博客(16)
- 收藏
- 关注
原创 更改checkbox框样式
.checkbox { width: 30%; input { width: 17px; height: 17px; position: relative; border: none; top: -2px; background: transparent; -webkit-appearance
2018-04-19 17:57:42
295
1
原创 浏览器缓存机制
在web的开发中,合理的利用缓存可以在重复获取一些静态资源时(比如最占用网络的图片)直接从缓存中读取,不用和服务端打交道,优化用户体验,并能够一定程度上降低服务器的压力缓存可以分为两种:强制缓存和协商缓存强制缓存 命中强制缓存的过程: 浏览器请求—–>先获取header信息,判断是否命中强制缓存(根据expires或cache-control),如果命中强制缓存,本次请求不会和服务器打交
2018-04-17 11:16:36
269
原创 HTTP2.0优化性能指南
在HTTP建立之初是用来WEB获取数据的,基于TCP协议,建立链接的时候会建立三次握手,三次握手建立之初,会有慢启动的特性,所以连接的复用会比新建立的链接响应速度要快。影响一个网络的响应速度有两个重要的因素:带宽和延迟,现在随着互联网的高速发展,带宽已经不是影响响应的主要因素,大部分的情况下,延迟是影响响应速度的主要因素。
2018-03-21 18:02:32
2019
原创 JS运行机制
JS运行的环境是浏览器,浏览器是多进程的,每一个Tab页面都会多开一个进程,进程中可能包括主控进程(负责浏览器的显示,用户的前进和后退等行为),GPU,浏览器内核(浏览器渲染进程,负责页面渲染,脚本执行,事件处理)等 其中,浏览器内核是多线程的,包括GUI渲染线程JS引擎线程JS事件触发线程定时触发器线程异步HTTP请求线程可以知道,JS是单线程的,JS单线程的原因是JS主要是...
2018-03-16 10:06:42
319
原创 vue中数据响应式原理
vue作为一个MVVM的js前端框架,它有一个核心就是双向数据绑定 作为一个MVVM的框架,可以拆分为三步来看它内部的实现原理,就是M→V,V→M,M→V 首先来看第一步, <div id="app"> <input type="text" v-model="text"> {{text}} </div> var vm=new Vue({
2018-01-09 11:41:51
2634
原创 JS中的继承
1.基于原型的继承 function Person() { this.name = 'zhangsan'; } function Woman(age) { this.age = age; } Woman.prototype
2017-12-19 15:15:30
175
原创 JS中的原型链及继承
首先,面向对象语言的标志是都拥有类的概念,通过类可以创建任意多个具有相同属性和方法的对象,JS语言中没有类的概念,JS中把对象定义为无序属性的集合,其中属性可以为对象,函数,基本值等许多的OO语言中,都支持接口继承和实现继承,接口继承只继承方法签名,实现继承继承实际的方法,但是函数没有签名,所有JS无法实现接口继承,所有JS中继承依靠于原型链来实现在JS中,每一个构造函数都会有一个prototypr
2017-12-08 15:52:26
262
原创 JS中的promise对象
promise对象中文意思可以直接理解为“承诺”promise是一个用来传递未来即将发生的事件(通常为异步操作)的状态的一个对象,这个对象有很多的API,可以用来进一步处理异步操作响应之后的事情(处理数据)promise的三个状态: pending,Resolved,Rejected,分别代表进行中,已完成,已失败promise特征及优缺点: promise一旦执行,中途不会被中
2017-11-02 16:18:20
493
原创 原生JS迭代遍历方法使用指南
在原生JS中,除了for循环以外,自身还带有5中迭代的方法,可根据场景自行选择,十分方便1.forEach forEach十分好用,数组的forEach回调函数中写入执行代码段就可以,回调函数有三个参数,第一个为数组的每一个值,第二个参数为index下标,第三个参数为当前数组,但是注意的是forEach不能通过在For循环中使用return或者return false、break等方法终止
2017-10-13 11:09:01
3848
原创 popstata或onpageshow解决微信浏览器点击返回按钮时读取缓存问题
在微信浏览器中,从一个html跳到另外一个html页面后,点击浏览器自带的历史返回按钮,或者在第二个页面中调用history.back()等返回上一页方法,在安卓中直接会返回上一页(相当于重新加载上一页所有内容和逻辑,js会重新在执行一遍),但是在苹果端中,返回到上一页是,浏览器会读取缓存中的页面内容(回到上一页,会保持跳转时的状态,包括刚才浏览的位置,但是js不会在重新执行,因为是直接读取缓存中的
2017-09-12 16:06:34
6560
原创 Js中原型与原型链及_proto_和prototype的关系
理解认识proto和prototype每一个构造函数都有一个prototype属性,类型是object,是一个引用对象 每一个对象也有一个proto对象,类型是object,也是一个引用对象 每一个构造函数在被创建之后都会有一个prototype属性,这个属性指向函数的原型对象,通过构造函数创建的对象都会有一个proto对象,指向这个构造函数的prototype。 prototype的作用是用
2017-09-07 14:40:46
367
原创 移动端唤醒软键盘布局
<style> /*视图头部*/ header { position: fixed; height: 50px; left: 0; right: 0; top: 0;
2017-09-05 15:07:44
1030
原创 jsonp和GET、POST的跨域原理解析及GET和POST的区别
同源策略: 同源策略是1995年 Netscape 公司引入浏览器的,目前浏览器都是实行这个策略, 同源策略是为了保证用户信息的安全,防止恶意的网站窃取数据的。 同源指的是三个相同:协议相同、域名相同、端口号相同但是也是因为浏览器同源策略的原因,前端页面不能跨域请求所需资源但是在日常的WEB开发中,需要进行跨域请求,常用有两种方式可以跨域请求所需资源1:JSONP ...
2017-06-16 10:01:48
4891
原创 JS中的this指向问题以及apply、call、bind的使用
call和apply的区别和使用这两个使用的效果都一样,都是改变对象内部this指针的定向其中 this 是你想指定的上下文,他可以是任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。 JavaScript 中,某个函数的参数数量是不固定的,因此要说适用条件的话,当你的参数是明确知
2017-01-17 13:42:02
349
原创 Ajax请求原理
【Ajax】Ajax异步的javascript和XML,也就是说,Ajax就是通过javascript语言,去异步请求之后,得到响应,局部刷新代码。 两个特点:异步请求,局部刷新。【Ajax的原生开发流程】 1、创建请求对象(异步) 创建核心的XMLHttpRequest请求对象,Ajax编程都是通过这个对象来进行的。注意:浏览器对XMLHtt
2017-01-13 13:33:36
5355
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人