不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
[ASP]If语句多个表达式运算时书写注意事项
编辑:dnawo 日期:2014-11-08
我们先来看一个例子:
根据上图可知,fun1返回False时还调用了fun2(C#等语言有做了优化不会调用fun2),因而当前后表达式有关系时用上边写法程序可能会出错:
前两个表达式用于确定number为整数,但CInt还是被调用了,真让人抓狂,没办法,设计使然,改成If嵌套结构可解决:
其他Or等运算符也都有同样的问题,程序代码书写时一定要注意。
复制内容到剪贴板 程序代码
<%
If fun1() And fun2() Then
Response.Write("yes"&"<br/>")
Else
Response.Write("no"&"<br/>")
End If
Function fun1()
Response.Write("fun1"&"<br/>")
fun1 = False
End Function
Function fun2()
Response.Write("fun2"&"<br/>")
fun2 = True
End Function
%>
If fun1() And fun2() Then
Response.Write("yes"&"<br/>")
Else
Response.Write("no"&"<br/>")
End If
Function fun1()
Response.Write("fun1"&"<br/>")
fun1 = False
End Function
Function fun2()
Response.Write("fun2"&"<br/>")
fun2 = True
End Function
%>
根据上图可知,fun1返回False时还调用了fun2(C#等语言有做了优化不会调用fun2),因而当前后表达式有关系时用上边写法程序可能会出错:
复制内容到剪贴板 程序代码
<%
Dim number : number = "mzwu.com"
If IsNumeric(number) And Instr(number,".")=0 And CInt(number)>=10 Then
Response.Write("yes")
Else
Response.Write("no")
End If
%>
Dim number : number = "mzwu.com"
If IsNumeric(number) And Instr(number,".")=0 And CInt(number)>=10 Then
Response.Write("yes")
Else
Response.Write("no")
End If
%>
前两个表达式用于确定number为整数,但CInt还是被调用了,真让人抓狂,没办法,设计使然,改成If嵌套结构可解决:
复制内容到剪贴板 程序代码
<%
Dim number : number = "mzwu.com"
If IsNumeric(number) And Instr(number,".")=0 Then
If CInt(number)>=10 Then
Response.Write("yes")
Else
Response.Write("no")
End If
Else
Response.Write("no")
End If
%>
Dim number : number = "mzwu.com"
If IsNumeric(number) And Instr(number,".")=0 Then
If CInt(number)>=10 Then
Response.Write("yes")
Else
Response.Write("no")
End If
Else
Response.Write("no")
End If
%>
其他Or等运算符也都有同样的问题,程序代码书写时一定要注意。
评论: 0 | 引用: 0 | 查看次数: 3372
发表评论
请登录后再发表评论!