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技巧之不要用for in语句对数组进行遍历
Oct 20 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
Oct 11 Javascript
详解javascript数组去重问题
Nov 06 Javascript
javascript ES6中箭头函数注意细节小结
Feb 17 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
Vue2.0+ElementUI实现表格翻页的实例
Oct 23 Javascript
Vue 中使用 CSS Modules优雅方法
Apr 09 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
vue2.0获取鼠标位置的方法
Sep 13 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 Javascript
全面解析js中的原型,原型对象,原型链
Jan 25 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
PHP开发中常用的8个小技巧
2008/08/27 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
JS实现简单短信验证码界面
2017/08/07 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
js实现网页随机验证码
2020/10/19 Javascript
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
Python函数基本使用原理详解
2020/03/19 Python
python将音频进行变速的操作方法
2020/04/08 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
班级文化标语
2014/06/23 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
先进事迹材料范文
2014/12/29 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
教师节老师寄语
2015/05/28 职场文书
运动会开幕式致辞
2015/07/29 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
MySQL sql模式设置引起的问题
2022/05/15 MySQL