- 博客(12)
- 收藏
- 关注
原创 前端目录页的优化
目录优化可能是一个很容易被忽略的问题,但是很多情况下会带来很多的问题,比如卡屏,比如交互体验差等。目录的常见实现方案1.真实分页:每次只加载一页目录,用户通过一定的操作(点击按钮或者上拉下拉)来请求服务器并获得新页面的目录内容。其缺点也是比较多的: 请求服务器的频率太高,用户通常情况下很难精确的知道想要看的章节在哪一页,那么势必会导致每次查阅目录都会请求多次服务器。 ...
2018-04-11 15:23:45
616
原创 一篇文章轻松搞懂原型对象和原型链
头疼的原型对象和原型链 我想不少刚接触Javascript的新手对于原型对象(prototype)和原型链(__proto__)的区别和含义都表示真尼玛操蛋,下面就让我来结合简单的例子来让你彻底明白什么是原型对象,什么是原型链。prototype和__proto__的区别 不要想那么多,你先要知道prototype是函数才有的属性,__proto__是所有对象都有的属性。var pers
2017-09-09 14:12:37
396
原创 Javascript性能优化(三) - 算法和流程控制优化
避免使用for/in循环 Javascript标准中,有四种类型循环:for,for/in,while,do while,其中唯一一个性能比其他明显慢的就是for/in。对于for/in的使用场景,更多的是针对不确定内部结构的对象的循环。for/in会枚举对象的命名属性,只有完全遍历对象的所有属性之后包括实例属性和原型属性,循环才会返回。正因为for/in循环需要搜索实例或者原型的属性,所以fo
2017-09-09 12:13:38
453
原创 Javascript性能优化(二)- 数据访问优化
目录目录数据访问Scope优化数据检索原型原型链缓存对象成员的值总结数据访问 数据的存储位置,关系到代码运行时数据被检索到的速度,JS中有四种数据存储位置:直接量、变量、数组、对象。其中直接量可能比较少听说,其实可以理解为表示匿名函数、匿名对象的一个变量,如var sum = function(a,b){return a+b},sum就是一个函数直接量。 四种数据存储位
2017-08-21 14:49:17
393
原创 Javascript性能优化(一) - 基本性能优化
加载和执行 当浏览器解析到JS代码时,无论是内嵌代码还是外链文件,网页都会停下来等待代码的下载和执行(阻塞)。能用GET请求尽量别用POST Post请求会先发一个header再发数据,即会请求服务器两次,而GET请求只需要一个TCP报文就能完成。多使用外部JS和CSS文件 原因很简单,因为浏览器会对文件缓存,当不同页面调用相同文件时文件会被重复使用。
2017-08-21 11:06:39
1253
原创 Vue项目实战(四)- 组件之间的通信
友情链接Vue项目实战(一)- 从0到1的蜕变 Vue项目实战(二)- 引入JQuery等第三方库 Vue项目实战(三)- 组件的注册和使用 Vue项目实战(四)- 组件之间的通信组件之间的通信原理其实组件之间的通信非常简单,只需要简单的加一个第三方事件管理器就可以了,比如在组件A中点击某个按钮想要通知组件B做一些操作,那么只需要让组件A告诉管理器我想要触发某事件,而组件B只需要监听这
2017-05-25 19:13:54
564
原创 Vue项目实战(三)- 组件的注册和使用
1、添加公用组件如果一个组件每个页面都要用到,比如导航栏和页尾,那么可以通过这个方法来注册和使用组件,步骤如下:1、在src/components里面新建一个headerBar.vue文件,作为导航栏组件,这里假设你对vue的语法已经很了解了,demo如下:<!--因为用到了bootstrap,请参考上一篇教程引入bootstrap文件--><template> <div> <hea
2017-05-21 20:34:51
1959
原创 Vue项目实战(二)- 引入JQuery等第三方库
0、说明引入JQuery库的方式有多种,我曾经试过用npm直接把jquery安装配置入项目,但是在后续开发中,尤其是用到基于jquery的第三方插件的时候,遇到了很多的问题,所以这里还是介绍一种非常简单非常容易上手且没有后顾之忧的方式。
2017-05-21 16:21:00
2972
原创 Vue项目实战(一)——从0到1的蜕变
1、环境配置创建Vue项目需要node和npm支持,如果已经安装过了请跳过此步骤 1、node环境配置: 下载地址:https://nodejs.org/en/download/ 下载后双击安装程序就可以了2、npm环境: 最新版的node已经集成了npm,也不需要额外安装了3、测试:在cmd中输入如下命令,如果出现版本号则说明配置成功 node -v
2017-05-21 15:46:42
1563
原创 新建并运行第一个Vue项目
0、环境要求基本环境要求:node、npm1、新建Vue项目并运行1、npm install -g vue-cli //全局安装vue-cli2、vue init webpack project-name //创建一个基于"webpack"模板的新项目3、npm install //安装所有依赖的库4、npm run dev
2017-05-16 23:08:15
750
原创 动手实现JQuery
先来自己动手简化选择器//声明一个对象,对象里面有$和$$两种方法var base = { $:function(id){ return document.getElementById(id); }, $$:function(className){ return document.getElementsByClassName(classNam
2017-05-15 22:09:04
300
原创 网页JavaScript内存结构分析
1、网页内存上限任何网页都是有内存上限的,当html、js等数据大小超过上限时,浏览器可能会闪退或停止响应等2、网页的内存结构:堆 + 栈 + 池池:用来存放一般常量,如0-9,a-Z,”Hello”等栈:存放定义的变量和函数,如var str,function func1等堆:存放对象,所有通过new出来的对象都存在堆中3、网页内存结构图4、网页内存结构代码解释var str = "he
2017-05-15 21:38:29
862
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人