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 设置某DIV区域内的checkbox复选框
Nov 30 Javascript
深入理解javascript动态插入技术
Nov 12 Javascript
浅析jquery某一元素重复绑定的问题
Jan 03 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
Jun 01 Javascript
原生js封装二级城市下拉列表的实现代码
Jun 16 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 Javascript
js操作二进制数据方法
Mar 03 Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
Vertx基于EventBus发送接受自定义对象
Nov 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
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
php递归实现无限分类的方法
2015/07/28 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
node.js操作mongodb学习小结
2015/04/25 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python更新列表的方法
2015/07/28 Python
Python计算字符宽度的方法
2016/06/14 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
python编程线性回归代码示例
2017/12/07 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
Python单链表原理与实现方法详解
2020/02/22 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
护理个人求职信范文
2014/01/08 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
成本会计岗位职责
2015/02/03 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL