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-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
js如何获取兄弟、父类等节点
Jan 06 Javascript
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
springMVC结合AjaxForm上传文件
Jul 12 Javascript
功能强大的jquery.validate表单验证插件
Nov 07 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
使用JS中的Replace()方法遇到的问题小结
Oct 20 Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 Javascript
JS实现轮播图效果
Jan 11 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
Oct 27 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
第十三节--对象串行化
2006/11/16 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python and、or以及and-or语法总结
2015/04/14 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
python读取文本中的坐标方法
2018/10/14 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
python实现简单飞行棋
2020/02/06 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
PHP如何自定义函数
2016/09/16 面试题
经贸日语专业个人求职信
2013/12/13 职场文书
食堂员工工作职责
2013/12/18 职场文书
家长对孩子的评语
2014/04/18 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年保管员工作总结
2014/11/18 职场文书
个人工作保证书
2015/02/28 职场文书
医学会议开幕词
2016/03/03 职场文书