js性能优化技巧


Posted in Javascript onNovember 29, 2015

性能优化:简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短

http:超文本协议

它的最上层是应用层 传输层 网络层 物理层
请求信息:请求行 请求头 空行 消息体
响应信息:状态行和状态码

使用值类型的ToString方法:

在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

尽量选择html控件:

能在客户端实现的功能就在客户端实现(熟练掌握JavaScript),减少服务器的压力。数据控件选择顺序:Repeater、DataList、DataGrid。

在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。

字符串操作性能优化

(1) 使用值类型的ToString方法。

在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作 ,转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

(2) 运用StringBuilder类

String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过 ToString方法返回操作结果。

避免到服务器的不必要的往返过程

使用Page.IsPostBack避免对往返过程执行不必要的处理。
虽然您很可能希望尽量多地使用Web窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。通常,只有在检索或存储数据时,您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的客户端上进行。

压缩js

js在页面中调用的大小写要保持一致,免得缓存了不同的文件,页面的js可以的话,写成单位的文件进行调用 。图片少用jpeg,使用gzip对网页进行压缩. 加快页面展示速度。

把调用js,尽量写在页面底部, 还有viewstate 状态也可以重写到页面低部, 也可以把viewstate进行压缩。条件是viewstate必要要用的情况之下。

Javascript 相关文章推荐
用JavaScript 处理 URL 的两个函数代码
Aug 13 Javascript
细说浏览器特性检测(2)-通用事件检测
Nov 05 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
Mar 21 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
Sep 10 Javascript
js倒计时抢购实例
Dec 20 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
JavaScript使用canvas绘制坐标和线
Apr 28 Javascript
javascript实现C语言经典程序题
Nov 29 #Javascript
JavaScript学习小结(7)之JS RegExp
Nov 29 #Javascript
整理Javascript基础入门学习笔记
Nov 29 #Javascript
jquery+json实现数据二级联动的方法
Nov 28 #Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 #Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 #Javascript
Javascript编程之继承实例汇总
Nov 28 #Javascript
You might like
ip签名探针
2006/10/09 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
node后端服务保活的实现
2019/11/10 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python生成器(Generator)详解
2015/04/13 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
Python tkinter模版代码实例
2020/02/05 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
美国旅游网站:Tours4Fun
2017/02/17 全球购物
群众路线对照检查材料
2014/09/22 职场文书
大学生创业事迹材料
2014/12/30 职场文书
公积金贷款承诺书
2015/04/30 职场文书
《法国号》教学反思
2016/02/22 职场文书