淘先锋技术网

首页 1 2 3 4 5 6 7
if session("postTime")<>"" and minute(NOW() - session("postTime")) < 1 then
session("postTime")=NOW()
response.write("postisfast")
response.end
end if

如果 if 前面有 session("postTime") = ""

则报错 500

如果postTime = now() 已经赋过值 则 不会报错

再例如

<%
dim a
a = 1
if a=1 and test1() = 0 then
response.Write("in")
end if 
%>
<%
function test1()
test1 = 0
end function
%>

结果为 

<hr>in

若将1改为0

<%
dim a
a = 0
if a=1 and test1() = 0 then
response.Write("in")
end if 
%>
<%
function test1()
test1 = 0
response.Write("<hr>")
end function
%>

结果为

<hr>

说明  尽管 and 前面结果为false ,但and 后面都会执行 response.write("<hr>")

或 or

<%
dim a
a = 1
if a=1 or test1() = 0 then
response.Write("in")
end if 
%>
<%
function test1()
test1 = 0
response.Write("<hr>")
end function
%>

其结果也为

<hr>in

不管 前面是否为true 都会执行or后面的代码

结论 当有时 用到判断 and or 时要注意 条件变量是否为空

不与其他语言 一样 使用 && ||作为与或时 ,&&遇到false则结束,or遇到true则结束

例如

<script language="javascript">
var a,b;
a = 1;
if (a==1 || test1()>0){
alert("in");
}
function test1(){
alert("in test1");
return 1;
}
</script>

不会执行test1()

使用 && 时如果前面 a==1为false 也不会去执行test1()