JS代码优化及技巧
案例一 对象参数独立化
情景:为多个日期文本框添加日期选择器
源代码:
$('#PropertySalesAdviceExchnagedDate1').datepicker({
showOn: 'button',
buttonImage: '/img/calendar.gif',
buttonImageOnly: true,
changeYear : true,
changeMonth : true,
dateFormat:"dd/mm/yy"
});
$('#PropertySalesAdviceSettledDate1').datepicker({
showOn: 'button',
buttonImage: '/img/calendar.gif',
buttonImageOnly: true,
changeYear : true,
changeMonth : true,
dateFormat:"dd/mm/yy"
});
$('#PropertySalesAdviceFinanceDate1').datepicker({
showOn: 'button',
buttonImage: '/img/calendar.gif',
buttonImageOnly: true,
changeYear : true,
changeMonth : true,
dateFormat:"dd/mm/yy"
});
用到了jQueryUI里日期选择器的插件。datepicker接收一个对象作为参数。而且我们发现参数都一样,这样完全可以剥离出来。写在 datepicker_options 这个对象里。
datepicker_options = {
showOn: 'button',
buttonImage: '/img/calendar.gif',
buttonImageOnly: true,
changeYear : true,
changeMonth : true,
// 去掉这行,默认的格式就是dd/mm/yy
// dateFormat:"dd/mm/yy"
};
//原来必须点小图标才会弹出日历,用户体验不要,改为获得焦点就弹出
$('#PropertySalesAdviceExchnagedDate1,
#PropertySalesAdviceSettledDate1,
#PropertySalesAdviceFinanceDate1').datepicker(datepicker_options).bind('focus',function(){
$(this).datepicker("show");
});
案例二 构建字符串的最优方法
当你需要遍历数组或对象的时候,不要总想着“for”语句,要有创造性,总能找到更好的办法,例如,像下面这样。
var arr = ['item 1', 'item 2', 'item 3'];
var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';
arr.join('</li><li>') 会生成字符串 "item 1</li><li>item 2</li><li>item 3"
案例三 将方法放入到匿名函数中
(function(){
var a = function (){
alert("hello")
}
// 将a方法挂载到window对象上
window.$ = a;
})()
$();
四
避免使用连续的声明,如在下面的例子里,a是局部变量,而b则是全局的(这和一般人的认知可能会不相同)。
function foo() {
var a = b = 0; //等同于var a = (b = 0);使得b“变成”了全局变量
// ...
}
所以可以这么做
function foo() {
var a, b;
// ...
a = b = 0; // both local
}
5. ~~可视为parseInt的缩写,而且速度更快
6. 类型转换
// 结果 ['1', '2', '3']
[1,2,3].map(String) // 结果 [1, 2, 3]
['1','2','3'].map(Number)
JS代码优化及技巧的更多相关文章
- 前端js代码优化
今天给大家分享下js代码优化的相关技巧. 1.使用"+"转换为数值 我们平时开发过程中需要将数字字符串创转为number类型,大多数都会用JavaScript parseI ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- JS 一些常用技巧
记录 JS 常用的技巧 1. 生成随机数 2. 解决浮点数问题 3. 无路可走时,看看是不是 事件 冒泡了...
- python基础===Python 代码优化常见技巧
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...
- Chrome JS断点调试技巧
Chrome调试折腾记_(2)JS断点调试技巧 技巧一:格式化压缩代码 技巧二:快速跳转到某个断点的位置 技巧三:查看断点内部的作用范围[很实用] 技巧4:监听事件断点 技巧5:DOM及 XHR监听跳 ...
- 14条最佳JS代码编写技巧
http://gaohaixian.blog.163.com/blog/static/123260105201142645458315/写任何编程代码,不同的开发者都会有不同的见解.但参考一下总是好的 ...
- 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制
[原创]分布式之数据库和缓存双写一致性方案解析(三) 正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 ...
- js异步编程技巧一
异步回调是js的一大特性,理解好用好这个特性可以写出很高质量的代码.分享一些实际用的一些异步编程技巧. 1.我们有些应用环境是需要等待两个http请求或IO操作返回后进行后续逻辑的处理.而这种情况使用 ...
- 20个JS优化代码技巧
原文网址链接为:http://www.jstips.co/ .截取了一部分本人认为比较实用的技巧分享给大家.其中一小部分技巧为JS面向对象的写法,不宜一一列出.关于JS面向对象的写法可参考本人前几篇随 ...
随机推荐
- Html 列表实现展开和收起
HTML中,点击列表元素,在其下展开更多的小选项.不点的时候是收起来的.就是实现路由器左边的菜单那样的功能.怎么实现,知道的指点一下,谢谢了!! 最常见的方法是通过Javascript控制某标签的CS ...
- 在js文件中写el表达式取不到值的原因及解决方法
1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值 2.要想获取"${jcDropClass.jcClass.id}"的值,可以在jsp ...
- 禁止查看网页源代码和F12
function disableInfo() { document.onkeydown = function() { var e = window.event || arguments[0]; //屏 ...
- hbase添加大文件
一直使用hbase作大容量存储,因为hbase易于存取. 今天,在录入数据的时候,突然报出一个KeyValue size too large.很是奇怪. 后来发现,该数据特别大,经查源码 privat ...
- maven 根据P参数值打包动态修改properties文件中值或一定properties
需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB.Redis等服务器需用指定properties文件, 而目前公 ...
- JAVA Collections常用方法
/* 集合框架的工具类 Collections: */ import java.util.*; class Test { public static void main(String [] args) ...
- 记录 iOS 各种跳转到系统应用
MARK ----拨打电话 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; if (phoneVersion.fl ...
- Mac--查看公钥
打开macbook的终端输入以下命令: $ cd ~/.ssh $ ls $ cat id_rsa.pub
- HDU 1885 Key Task (带门和钥匙的迷宫搜索 bfs+二进制压缩)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1885 Key Task Time Limit: 3000/1000 MS (Java/Others) ...
- [转载] iOS应用程序的生命周期
iOS应用程序的生命周期 2015-06-23 iOS大全 (点击上方蓝字,快速关注我们) iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些 ...