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 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
jQuery实现按键盘方向键翻页特效
Mar 18 Javascript
javascript 动态修改css样式方法汇总(四种方法)
Aug 27 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
Dec 23 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
Node.js 使用流实现读写同步边读边写功能
Sep 11 Javascript
jQuery 利用ztree实现树形表格的实例代码
Sep 27 jQuery
vue实现鼠标经过动画
Oct 16 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
jQuery解决input超多的表单提交
2015/08/10 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
js尾调用优化的实现
2019/05/23 Javascript
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
Python API自动化框架总结
2019/11/12 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
运动会四百米广播稿
2014/01/19 职场文书
数学系毕业生求职信
2014/05/29 职场文书
聘任书范文大全
2015/09/21 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫