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。
而且,作为解释型的语言,弱类型无可厚非。处理这种
非同种类型的数据比较,只要他有稳定的数据转换方法,
就应该认为是可以的。