if 1=1 or 2=3 then..2=3这句执行了吗?

  今天搞相册遇到了很多问题。突然想到了一个问题,值得讨论一下。
引用内容 引用内容
If 1=1 or 2=3 then
    Response.Write "1"
Else
   Response.Write "2"
End if

  1=1条件成立,无论 or 后面的是ture 或者 false 都会执行 then 后面的语句,那么,大家觉得这个例子中的2=3有没有执行?
  问了一些朋友大多数都说不执行,1=1已经True了,不管or后面表达式真或者假,均不影响1=1 or 2=3返回的True。
  那么我们来看看答案吧:
<%
count = 0
Function fun
    count = count + 1
    fun = true
End Function
Response.Write count&"<br>"
If 1=1 or fun Then
    Response.Write "T"
Else
    Response.Write "F"
End If
Response.Write "<br>"&count
%>

  如果不执行,那么结果应该是:
  0
  T
  0
  但是实际上是:
  0
  T
  1
  即使1=1成立,但也执行了 or 后面的 fun
演示:http://www.94qing.com/code/asp-if2=3.asp


评论: 5 | 引用: 0 | 查看次数: 1330
Jevis
回复回复Jevis [2009-07-10 17:50:33 |  | del | 取消审核]
fun不管在哪儿写 它依然会执行的!
else 的条件没有执行!

lost
回复回复lost [2009-07-06 16:02:19 |  | del | 取消审核]
'or'='or'

情留メ蚊子 于 2009-07-06 11:28 PM 回复
.!
ooo
回复回复ooo [2009-06-27 16:34:02 | del | 取消审核]
回复挺快,or是逐位比较

情留メ蚊子 于 2009-06-27 04:36 PM 回复
但是or前面的条件成立了也会匹配后面的添加,你评论我手机会收到通知的!
ooo
回复回复ooo [2009-06-27 16:20:56 | del | 取消审核]
什么挺不错的例子, 函数内count相加有什么用?

If 1=1 or true Then....

肯定输出T,这。。。无语了。

情留メ蚊子 于 2009-06-27 04:22 PM 回复
相加验证fun有没有执行
mice
回复回复mice [2009-06-27 15:52:16 |  | del | 取消审核]
挺不错的例子,值得大家去思考。

发表评论
昵 称:
密 码:    游客发言不需要密码.
邮 箱:    支持Gravatar头像
网 址:
验证码:    点击输入框
内 容:
您一共可以输入1000个字
选 项:
不想保留信息请删除cookie
发表评论后您发表的内容自动复制到了剪贴板
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭