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 相关文章推荐
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
Sep 22 Javascript
jQuery学习4 浏览器的事件模型
Feb 07 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
javascript如何创建对象
Aug 29 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
js实现tab栏切换效果
Aug 02 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 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自定义函数返回多个值
2006/11/26 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
Python实现远程调用MetaSploit的方法
2014/08/22 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
如何使用Python 打印各种三角形
2019/06/28 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
如何通过python检查文件是否被占用
2020/12/18 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
水务局局长岗位职责
2013/11/28 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
关于五一放假的通知
2015/08/18 职场文书
800字作文之大雪
2019/12/04 职场文书
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android