当前位置: 代码迷 >> ASP >> ASP的超级BUG,寻求解释!该如何处理
  详细解决方案

ASP的超级BUG,寻求解释!该如何处理

热度:177   发布时间:2012-03-21 13:33:15.0
ASP的超级BUG,寻求解释!
请试运行下面的代码,你会得到一个超出想象的结果,并解释一下这是为什么?

<%
dim   a,b,c
a   =   request.form( "dd ")
b   =   0
c   =   " "
if   a   =   c   then   response.write   " <br> A=B "
if   a   =   b   then   response.write   " <br> A=C "
if   b   =   c   then   response.write   " <br> B=C "
%>

------解决方案--------------------
asp会把接收到的a的值根据已经定义的变量的类型进行转换

b = 0 'asp会认为b是数字型
c = " " 'asp会认为c是字符型


a = c 的时候a会变成数字型
a = b 的时候a会变成字符型
------解决方案--------------------
请楼主弄清楚概念。就算是BUG也应该是VBScript的BUG。
而且,作为解释型的语言,弱类型无可厚非。处理这种
非同种类型的数据比较,只要他有稳定的数据转换方法,
就应该认为是可以的。
  相关解决方案