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 this关键字使用分析
Oct 21 Javascript
javascript之querySelector和querySelectorAll使用说明
Oct 09 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
Nov 22 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
JavaScript中的异常捕捉介绍
Dec 31 Javascript
vue bus全局事件中心简单Demo详解
Feb 26 Javascript
Promise扫盲贴
Jun 24 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
vue实现评价星星功能
Jun 30 Javascript
详解Webpack4多页应用打包方案
Jul 16 Javascript
浅谈js中的attributes和Attribute的用法与区别
Jul 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缓存技术介绍
2006/11/25 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python元字符的用法实例解析
2018/01/17 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
六查六看自查材料
2014/02/17 职场文书
银行办公室岗位职责
2014/03/10 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
大学学生个人总结
2015/02/15 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
茶花女读书笔记
2015/06/29 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
Python如何用re模块实现简易tokenizer
2022/05/02 Python