首屏加载

一、首屏 以800*600像素尺寸为标准,当浏览器加载页面后看到的第一眼的显示内容为首屏。 而从开始加载到浏览器页面显示高度达到600像素且此区域有内容显示的时间为首屏显示时间 二、首屏优化原因 一个页面的“总加载时间”要比“首屏时间”长,但对于最终用户体验而言,当内容充满首屏的区域时,用...

2018-08-27 21:00:19

阅读数 323

评论数 0

display:inline-block引发的空白间隔问题

1、li标签举例 为了让li在一行显示,并且可以设置宽高,我们设置li的display:inline-block,这时<li>之间会出现8px的空白间隔。如下所示: 代码如下: html: <ul&gt...

2018-08-09 17:39:59

阅读数 401

评论数 0

页面可见性

1、页面可见性 显示的页面:当前正在看的页面 隐藏的页面:我们没有看到的页面 2、给document添加visibilitychange事件,document.hidden为true则可见,为false则为隐藏,不同页面之间切换,触发visibilitychange事件。 documen...

2018-08-08 22:24:22

阅读数 89

评论数 0

Canvas性能优化

1、Canvas是html5新增的画布元素,允许我们使用Js来绘制图形 2、Canvas最常见的用途是渲染动画。 渲染动画的基本原理无非是反复的擦除和重绘。 为了动画的流畅,留了一帧的时间,我们需要在16ms完成游戏逻辑的处理,对象位置、状态的计算以及把他们画出来。一旦消耗时间多了,用户就会...

2018-08-07 16:38:50

阅读数 1095

评论数 0

JS实现AOP(面向切面编程--装饰者模式)

1、AOP:主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能通常包括日志统计、安全控制、异常处理等。把这些功能抽离出来之后,再通过“动态织入”的方式参入业务逻辑模块中。 2、AOP好处 保证业务逻辑模块的纯净和高内聚性 方便复用日志统计等功能模块 3、JS实现A...

2018-08-07 11:24:11

阅读数 357

评论数 0

js递归优化

1、记忆优化:函数可以通过对象obj去记录之前操作的结果,从而避免无谓的运算 /*优化前*/ var count = 0; function fibonacci(n){ count++; //统计函数调用的次数 return n<2 ? n: fibo...

2018-08-07 09:28:13

阅读数 406

评论数 0

pc端,移动端,客户端的区别

pc端与移动端的区别 1、从兼容方面来说,pc考虑的是浏览器的兼容性,移动端考虑的是手机兼容性,因为目前不管是安卓还是ios手机,一般的浏览器都是webkit内核 2、从事件处理上说,移动端主要是触屏事件,而缺少hover事件 3、从布局上来说,移动端一般要做到布局自适应 4、从动画处理上...

2018-08-07 09:21:37

阅读数 4433

评论数 0

JS与ES、JS与jQuery

js是什么语言 js是一门为了网页交互而设计的语言,由三部分组成,包括ES+DOM+BOM;特点如下: js是一门弱类型语言,可以定义多种类型的变量,灵活性 js是一门解释性脚本语言,在代码执行时逐行解释,不像java等需要预编译,执行起来快 具有跨平台行,js依赖于浏览器,与操作系统无关...

2018-08-07 09:20:48

阅读数 2519

评论数 0

TCP窗口滑动以及拥塞控制

TCP的可靠性和流量控制由滑动窗口协议保证 拥塞控制则由控制窗口结合一系列的控制算法实现 1、滑动窗口协议 滑动:指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序滑动 窗口:对应一段可以被发送者发送的字节序列,其连续的范围称之为“窗口” 【注意】 ①TCP协议的两端...

2018-07-23 12:19:34

阅读数 159

评论数 0

DNS负载均衡和NGINX负载均衡

负载均衡:把请求均匀的分摊到多个服务器上处理 两种负载均衡: 客户端与反向代理服务器之间的DNS负载均衡 服务器与反向代理服务器之间的负载均衡,可以使apache+tomcat负载均衡,也可以是ngnix负载均衡 DNS负载均衡 DNS负载均衡是通过DNS服务器实现的,主要用于把请求均匀的...

2018-07-17 18:12:16

阅读数 526

评论数 0

解决CSS3动画卡顿问题

解决方法:尽量使用transform属性,避免使用height、width、margin、padding等要求较高时,可以开启GPU硬件加速器1、尽量使用transform属性,避免使用height、width、margin、padding等①、因为,transform属性不会更改元素或它周围元素...

2018-07-02 10:02:18

阅读数 1855

评论数 0

JS内存泄露排查方法

1、使用工具Heap Profiling①、Heap Profiling可以记录当前的堆内存(heap)的快照,并生成对象的描述文件,该描述文件给出了当时JS运行所用的所有对象,以及这些对象所占用的内存大小、引用的层级关系等等。②、JS运行的时候,会有栈内存(stack)和堆内存(heap),当我...

2018-06-29 10:47:08

阅读数 1791

评论数 0

jQuery与vue的区别

1、jquery:轻量级的js库 2、vue:前端js库,是一个精简的MVVM,它专注于MVVM模型的viewModel层,通过双向数据绑定把view和model层连接起来,通过对数据的操作就可以完成对页面视图的渲染。 3、vue和jquery对比: vue是通过vue对象将数据和view完...

2018-06-27 16:57:22

阅读数 3004

评论数 0

js加载的几种方式

1、同步加载(阻塞加载) 只有当当前加载完后,才能进行下一步操作。 但是如果js中有输出document内容、修改dom等,则会造成页面阻塞,所以一般建议把<script>放在<body>结尾处 2、异步...

2018-06-27 15:47:54

阅读数 447

评论数 0

移动端点击300ms延迟问题

1、问题来源 移动端浏览器会有一些默认行为,比如双击缩放、双击滚动。当用户一次点击屏幕之后,浏览器并不能判断用户是要单击还是双击,因此就会等待300ms,以判断用户是否再次双击屏幕。之前人们可能不会care这300ms的延迟,但是随着用户对体验的要求越来越高,这300ms的卡顿会让人体验很差。 ...

2018-06-26 11:31:38

阅读数 292

评论数 0

操作系统知识点

死锁 1、死锁的形成 如果一组进程中,每个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程就是死锁 2、三种情况 ①、竞争不可抢占资源引起死锁 假设有p1和p2两个进程,都需要A和B两个进程,现在p1持有A等待B,P2持有B等待A,两个都等待另一个资源而不肯释放资源,就这...

2018-06-25 20:01:38

阅读数 63

评论数 0

严格模式的限制

1、严格模式是ES5引入的,不属于ES62、ES6自动采用严格模式3、严格模式的限制①没有变量提升,变量必须先声明在使用②不能重复声明③argument不会自动反应函数参数的变化④eval不会在其外层作用域中引入变量⑤禁止this指向全局变量⑥增加了保留字(比如protected、static和i...

2018-06-21 16:20:20

阅读数 67

评论数 0

ES6中Promise的用法

1、promise是一个构造函数,那就new一个出来 var p = new Promise(function(resolve,reject){    //做一些异步操作    setTimeout(function(){        console.log("执行完成&am...

2018-06-21 10:39:31

阅读数 1277

评论数 0

JS闭包总结

任何在函数内部定义的变量,都是私有变量,因为这些变量在函数外部是无法访问到的。但是在函数内部创建闭包,闭包通过自己的作用域链也可以访问这些变量,利用这一特点,就可以创建用于访问私有变量的公共方法。 1、定义   有权访问另一个函数作用域的函数 函数可以记住并访问其词法作用域,无论这个函数是...

2018-06-19 11:36:07

阅读数 49

评论数 0

懒加载和预加载

懒加载(延迟加载)①图片懒加载:当访问一个页面的时候,先把图片路径替换为一张大小为1*1px图片的格式(这样就只请求一次,俗称占位图),只有当图片出现在浏览器的可视区域时,才设置图片真实的路径,让图片显示出来②原因:图片数量多时,而且比较大时,如果一次性加载完,会加载的特别慢,影响用户体验③原理:...

2018-06-12 16:10:37

阅读数 87

评论数 0

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