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 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 Javascript
JavaScript ParseFloat()方法
Dec 18 Javascript
JS获取鼠标坐标位置实例分析
Jan 20 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
详解vue数据渲染出现闪烁问题
Jun 29 Javascript
浅谈webpack 构建性能优化策略小结
Jun 13 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
vue+flask实现视频合成功能(拖拽上传)
Mar 04 Vue.js
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
PHP VS ASP
2006/10/09 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
jquery JSON的解析方式
2009/07/25 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
python练习程序批量修改文件名
2014/01/16 Python
Python验证码识别的方法
2015/07/10 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
一百行python代码将图片转成字符画
2021/02/19 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
解决python replace函数替换无效问题
2020/01/18 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
反四风对照检查材料思想汇报
2014/09/16 职场文书
以权谋私检举信范文
2015/03/02 职场文书
走进毛泽东观后感
2015/06/04 职场文书
会议室使用管理制度
2015/08/06 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
Python开发简易五子棋小游戏
2022/05/02 Python