function fun1(){
if(!result){
return;
};
switch(confirmTodoObj.todo){
case todoType.SYSTEM_UPDATE:
case todoType.AUTH_UPDATE:
case todoType.SYSTEM_ADD:
case todoType.MODULE_ADD:
case todoType.AUTH_ADD:
result();
break;
};
//通过代码将所有元素放到一个数组中
var idAry = [102,235,356,213];
//循环拼接数组
var result = '';
for(var i=0;i<idAry.length;i++){
result += idAry[i] + ',';
};
//发现最后多了一个逗号,去掉!
result = result.substring(0,result.length-1);
推荐的办法
//通过代码将所有元素放到一个数组中
var idAry = [102,235,356,213];
var result = idAry.join();
var objAry = [{
id : 1,
name : '张三'
},{
id : 2,
name : '李四'
}];
var html = '';
for(var i=0;i<objAry.length;i++){
result += '<option id="'+ objAry[i].id +'">'+ objAry[i].name +'</option>';
};
$('select').html(html);
推荐的办法
var objAry = [{
id : 1,
name : '张三'
},{
id : 2,
name : '李四'
}];
var html = $.map(objAry,function(d){
return '<option id="'+ d.id +'">'+ d.name +'</option>';
}).join('');
$('select').html(html);
经验分享-提高生产效率的一些编码技巧(1)
本文包含了一些个人开发经验总结和设计模式的总结,希望能给大家有所帮助。
条件语句if使用技巧
将代码少的逻辑放到if中,而更多的逻辑当成正常系处理,更有利于阅读和理解。
方法
原始代码:
以上逻辑最好的书写规范是:
案例
原始代码:
优化后:
参考
重复语句for循环化(表驱动法)
代码中发现有太多重复的语句,看似相同,但是又有些不同,于是乎就本能的习惯使用if语句写一大片!
其实最好的做法是代码去重!
核心的思想:
就是想尽一切办法将相似的部分放到一个对象或者数组中,然后循环处理。
示例1
显示一年内各个月的天数。
示例2
原始代码:
优化:
示例3
原始代码:
优化1:
优化2:
最终优化:
参考
巧用
Array.join
和String.split
函数Array.join
- 将所有数组
或者类数组
的元素拼接为一个字符串并返回这个字符串,默认的连接符为,
;String.split
- 将一个字符串通过特定的字符串分割为一个数组并返回这个数组,如果不指定分隔符则默认返回一个字符,里面只有一个元素就是当前字符串;示例
案例一
假如后台需要传一个字段,该字段是所有页面上选中的元素的id,通过逗号拼接,如:
102,235,356,213
。案例二
页面需要循环一个数组,动态拼接为html语句
<option>
最后填充到页面上的<select>
中。(jQuery)避免手动拼接URL参数
在
get
请求时,很多人习惯手动拼接url参数,比如:推荐使用
jQuery
的$.param()
方法,或者其它库提供的类似方法。(jQuery)对象复制或合并
假如有对象
a
和 对象b
,要实现如下功能:a
的属性复制到b
对象上;a
和b
合并成新对象c
;推荐使用
jQuery
的$.extend()
方法,或者其它库提供的类似方法。a
和b
对象分别如下:目标1:将
a
的属性复制到b
对象上:目标2:将
a
和b
合并成新对象c
;三元表达式(Conditional (ternary) Operator)
三元表达式规则:
使用三元表达式能简化代码结构,能少写一组
if/else
。示例
OR
短路操作符Short-Circuits
短路操作符规则:
翻译过来如下:
&&
条件判断与短路操作类似,还有一种写法如下:
翻译过来如下:
更多JS中的一些常用的快速写法
推荐书籍
敬请期待