今天开发的时候遇到了一个奇怪的问题,在页面中接收了后台穿过来的一个卡号,我调用一个方法,将此卡号作为参数传给后台做下一步操作的时候,传过去的卡号就变了,在调用的方法中alert该卡号的时候就已经变了,
我的页面是这么写的:
var strAdd=""; strAdd+='<td><a href="#" onClick="goAddSchedule(' strAdd+=detail.accNo; //(detail.accNo是指的detail对象中的accNo属性) strAdd+=');">签约</a></td>'; cell.innerHTML=strAdd row.appendChild(cell);
看上语法上没有什么错误,如果detail.accNo比较小也不会出错,但是如果detail.accNo比较大的时候比如:622291011000022364那么调用方法以后alert出来的就成622291011000022400了,很显然这是把卡号当成数字了,而且四舍五入了,如果我们不想让这个值改变就要在将该卡号做为某个方法的参数时加上双引号即"",方法如下:
var strAdd=""; strAdd+='<td><a href="#" onClick="goAddSchedule(' strAdd+="'"+detail.accNo+"'"; strAdd+=');">签约</a></td>'; cell.innerHTML=strAdd row.appendChild(cell);这样以后alert的数值就是原来的数值了。