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 相关文章推荐
Knockout visible绑定使用方法
Nov 15 Javascript
JQuery调用WebServices的方法和4个实例
May 06 Javascript
js获取url中"?"后面的字串方法
May 15 Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
js返回顶部实例分享
Dec 21 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
详解webpack介绍&安装&常用命令
Jun 29 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
如何通过JS实现转码与解码
Feb 21 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框架的性能
2008/01/10 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
Django之form组件自动校验数据实现
2020/01/14 Python
Python实现括号匹配方法详解
2020/02/10 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
简单英文演讲稿
2014/01/01 职场文书
创先争优公开承诺书
2014/08/30 职场文书
勤俭节约主题班会
2015/08/13 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
Android存储中最基本的文件存储方式
2022/04/30 Java/Android