js的if语句被跳过,代码如下:

JavaScript012

js的if语句被跳过,代码如下:,第1张

其实代码没问题,只是你还没理解js的运行机制

其实message==“true”时,if里面的语句是执行了的

你可以删掉 " window.location.replace(location)" 这句去测试,肯定每次都会执行,但是加上这句后,就会出现偶尔不执行的假象

submit方法你可以理解为它是一个新线程,这个线程刚启动,正准备提交数据时, 结果主线程运行到了 " window.location.replace(location)"这句,导致页面刷新,那自然页面中的js提交任务就被终止了

是有时执行,有时又不执行就是因为两个线程的任务执行哪一个早的问题

当然了,js是没有线程的,但是你可以这么理解

另外document.getElementById('toform').submit() 提交后页面本身就会跳转,所以你让服务器端处理完了之后直接跳转到location, 我也大概知道你为什么这么写,看样子你是在防止用户后退后重新提交

建议你学习下 jquery的表单异步提交,以及回调函数 就是当提交完成后再运行 window.location.replace(location)这行代码

大概是这个样子:

$.post(

"url" , //提交地址

{

key1:value1,

key2:value2

},//要提交的数据

function(data){

window.location.replace(location)

}

)

if(a>0){

if(a=1){

//显示正确的结果

}

}else{

显示错误的结果

}

你的逻辑不对,a=2的时候就是什么也不做啊!

你好好看看!else是和if(a>0)一起使用的!

if(a>0){

if(a=1){

//显示正确的结果

}else{

return

}

}else{

显示错误的结果

}

这样试试。不过就是跳出来了!

if(a==b){alert(11)}

解释:if语句是在括号里面写判断条件,然后如果判断通过,则执行{}里面的代码。

比如上面的条件就是当a等于b时,执行alert(11)