jQuery ajax - serialize() 方法
$("button").click(function(){
$("div").text($("form").serialize()
);
});
.serialize() 方法创建以标准 URL 编码表示的文本字符串。
输出标准的查询字符串:
a=1&b=2&c=3&d=4&e=5
switch case和if else哪个效率高
所以本人就查找相关资料,资料显示switch语句反而比ifelse的执行效率要高。
下面来详细描述switch与ifelse的区别。
switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。从而,switch...case不用像if...else那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。由此看来,switch有点以空间换时间的意思,而事实上也的确如此。
1.当分支较多时,当时用switch的效率是很高的。因为switch是随机访问的,就是确定了选择值之后直接跳转到那个特定的分支,但是if。。else是遍历所以得可能值,知道找到符合条件的分支。如此看来,switch的效率确实比ifelse要高的多。
2.由上面的汇编代码可知道,switch...case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch...case的空间利用率将变得很低。
3.switch...case只能处理case为常量的情况,对非常量的情况是无能为力的。例如 if (a > 1 && a < 100),是无法使用switch...case来处理的。所以,switch只能是在常量选择分支时比ifelse效率高,但是ifelse能应用于更多的场合,ifelse比较灵活。
table.on('tool(myTable)', function (obj) {
var handleEvent = obj.event;
switch (handleEvent) {
case 'readonly':
layer.open({
type: 2,
title: '查看',
shadeClose: false,
shade: 0.1,
area: ['800px', '500px'],
content: 'Add?type=look'
})
break;
case 'modify':
layer.open({
type: 2,
title: '修改',
shadeClose: false,
shade: 0.1,
area: ['800px', '500px'],
content: 'Add?type=edit'
})
break;
case 'person':
parent.document.getElementById('mainFrame').src = '/CityHeatAccount/HeatCompany/Person'
break;
}
//if (obj.event == 'readonly') {
// layer.open({
// type: 2,
// title: '查看',
// shadeClose: false,
// shade: 0.1,
// area: ['800px', '500px'],
// content: 'Add?type=look'
// });
//} else if (obj.event == 'modify') {
// layer.open({
// type: 2,
// title: '修改',
// shadeClose: false,
// shade: 0.1,
// area: ['800px', '500px'],
// content: 'Add?type=edit'
// });
//} else if (obj.event == 'person') {
// location.href = 'Person';
//}
});
打开弹窗传递数据
if (obj.event == 'modify') {
var index=layer.open({
type: 2,
title: '修改',
shadeClose: false,
shade: 0.1,
area: ['800px', '500px'],
content: 'Edit',
success: function (layeo,index) {
var body = layer.getChildFrame('body', index);
if (data) {
body.find('.city').val(data.CityName);
body.find('.canton').val(data.RegionName);
body.find('.commpanyname').val(data.DepartmentName);
body.find('.contacter').val(data.title4);
body.find('.phone').val(data.title5);
form.render;
}
},
end: function () {
obj.update({
title1: data.city
});
window.memberData = null;
}
});
}