案例一  对象参数独立化

情景:为多个日期文本框添加日期选择器

源代码:

$('#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代码优化及技巧的更多相关文章

  1. 前端js代码优化

    今天给大家分享下js代码优化的相关技巧. 1.使用"+"转换为数值     我们平时开发过程中需要将数字字符串创转为number类型,大多数都会用JavaScript parseI ...

  2. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

  3. JS 一些常用技巧

    记录 JS 常用的技巧 1. 生成随机数 2. 解决浮点数问题 3. 无路可走时,看看是不是 事件 冒泡了...

  4. python基础===Python 代码优化常见技巧

    Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...

  5. Chrome JS断点调试技巧

    Chrome调试折腾记_(2)JS断点调试技巧 技巧一:格式化压缩代码 技巧二:快速跳转到某个断点的位置 技巧三:查看断点内部的作用范围[很实用] 技巧4:监听事件断点 技巧5:DOM及 XHR监听跳 ...

  6. 14条最佳JS代码编写技巧

    http://gaohaixian.blog.163.com/blog/static/123260105201142645458315/写任何编程代码,不同的开发者都会有不同的见解.但参考一下总是好的 ...

  7. 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制

    [原创]分布式之数据库和缓存双写一致性方案解析(三)   正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 ...

  8. js异步编程技巧一

    异步回调是js的一大特性,理解好用好这个特性可以写出很高质量的代码.分享一些实际用的一些异步编程技巧. 1.我们有些应用环境是需要等待两个http请求或IO操作返回后进行后续逻辑的处理.而这种情况使用 ...

  9. 20个JS优化代码技巧

    原文网址链接为:http://www.jstips.co/ .截取了一部分本人认为比较实用的技巧分享给大家.其中一小部分技巧为JS面向对象的写法,不宜一一列出.关于JS面向对象的写法可参考本人前几篇随 ...

随机推荐

  1. 【转】Windows Error Code(windows错误代码详解)

    本文来自: http://blog.sina.com.cn/s/blog_5e45d1be0100i0dr.html http://blog.sina.com.cn/s/blog_5e45d1be01 ...

  2. Django 导出csv文件 中文乱码问题

    import csvimport codecsimport datetimefrom django.db import connectionfrom django.contrib.auth.model ...

  3. luogu P4231 三步必杀

    嘟嘟嘟 这道题就是区间加一个等差数列,然后最后求每一个数的值. O(n)做法:二阶差分. 其实就是差分两遍.举个例子 0 0 0 0 0 0 0,变成了 0 2 4 6 8 0 0.第一遍差分:0 2 ...

  4. HDU 1698 【线段树,区间修改 + 维护区间和】

    题目链接 HDU 1698 Problem Description: In the game of DotA, Pudge’s meat hook is actually the most horri ...

  5. iPhone 耳机在PC电脑上使用方法

    把主声道(Master)从正中间调整到最左或者最右就行了

  6. iOS之3DTouch的使用---很简单,看我就够啦~~

    3DTouch是苹果在iOS9之后新推出的功能,功能大致可以分成两种,一种是长按app的icon,会出现以下的界面,还有一种是在app内部的某个视图上使用,效果如下图. 详细的效果也可以参见微信.微信 ...

  7. STM32平台SD卡的FatFS文件系统开发

    STM32平台SD卡的FatFS文件系统开发 系统平台: STM32系列的STM32F103ZE SPI方式与SD卡通信 SD上移植FatFS系统 1 FatFS文件系统 1.1 FatFS简介 Fa ...

  8. AOP切点切面内容

    一.实现接口MethodBeforeAdvice该拦截器会在调用方法前执行             实现接口   AfterReturningAdvice该拦截器会在调用方法后执行          ...

  9. localtunnel内网服务器暴露至公网

    摘自@scarlex   1.安装 npm install -g localtunnel 2.运行 lt --port 8080  (your url is: http://xxxx.localtun ...

  10. RBG颜色对照表:有网址

    RBG颜色对照表 大家都懂的RBG颜色对照表,想做一个有个性和美观的网页,风格是必须要有的,那么多姿多彩的颜色必然是装饰网页的一簇鲜花,为了方便查找比对颜色,就做了这个 网址为: http://too ...