一个方法让你了解js中的细节

你知道js对象动态属实怎么设置吗?

知道JSON.stringfy()和JSON.parse()的区别不?

知道参数传递带引号和不带引号的区别不?

知道eval的运用不?www.javait.org

看下面的代码吧

$(function(){
$('#bankCardNo2').bind("blur",function(){
validateCardNo('bankCardNo','bankCardNo2','bankCardNo');//这里参数传递带引号,标示是一个值,$("#"+变量值)就可以直接使用。
});
});


function validateCardNo(cardNoEl,cardNoValidateEl,attrName){
var cardNo1=$("#"+cardNoEl).val();
var cardNo2=$("#"+cardNoValidateEl).val();
//console.log("cardNo2:"+cardNo2);
if(cardNo2!=cardNo1){
$("#"+cardNoEl).tips({
side:3,
msg:'两次输入的卡号不一致!',
bg:'#AE81FF',
time:3
});
$("#"+cardNoEl).focus();
return false;
}else{
var argData=new Object();//创建对象,创建对象有很多方式哦。使用这种方式才能有动态属性
argData[attrName]=cardNo1;//属性名称是attrName的值
console.log("JSON.stringify(argData):"+JSON.stringify(argData));//JSON.stringfy()是将对象转换成json,JSON.parse()是将变量转换成JSON。


$.post("bizCustomer/getListByAttr.do",eval("("+JSON.stringify(argData)+")"),function(data){//eval,这里需要立即执行,才能将信息传递给后台处理
if(data && data!=''){
$("#"+cardNoEl).tips({
side:3,
msg:'卡号:'+idNumber+" 已存在",
bg:'#AE81FF',
time:3
});
$("#"+cardNoEl).focus();
return false;
}else{
var reg = /(^\d{15}$)/;
if(reg.test(cardNo1) === false)
{
$("#"+cardNoEl).tips({
side:3,
msg:'卡号输入不合法',
bg:'#AE81FF',
time:3
});
}
$("#"+cardNoEl).focus();
return false;
}
});
}
}

posted @ 2017-09-05 11:38  magina_敌法  阅读(238)  评论(0编辑  收藏  举报