诡异的0
前几天在做一个简单功能的时候发现怎么也得不到预期效果,先描述一下我的功能:一个数据绑定控件,点击按钮以后就传一个参数给javascript函数来进行ajax处理;因此做了一个小测试如下:我传的参数是一个id,所以我就alert了一下那个id如070,但窗口显示却是56,(1)怀疑是参数传递的问题,所以直接alert(070),但还是56,(2)怀疑是vs的问题,所以就在记事本里面直接alert,但效果还是一样,(3)怀疑是电脑环境问题(w7),所以在xp测试了多次效果不变。
在深入测试后发现070~077,0700~0777,07000~07777。。。这些数有问题,去掉前面那个0就正常,问题分析:(1)javascript的类型属于弱类型,所以我传递的参数无论是什么类型只有参数是数字在javascript都会被转换成整形,因为开始时传的参数比较大(0700000000),所以怀疑是数据溢出,但经后来的测试可否认该观点;(2)有0与没0的区别,前面多一个0 javascript会在处理该数的时候做多额外的处理(例如把前面的0去掉),而这种处理会是做成这种结果的原因吗??(3)其他原因???