js基础篇:if else和else if 的使用

JavaScript010

js基础篇:if else和else if 的使用,第1张

1.if和else if的使用条件:

if可以单独使用,也可以和else块一起使用。

②else 必须和if配合使用(或者和if else if 配合使用)

③else if必须和if配合使用,最后可跟接else判断

else和else if都是不能独立存在的,需要和if依赖才能成立一个条件

2.程序的执行点

(1)if 和 else 块:

这种逻辑判断只会走其中的一个块,如果条件成立则进入if不成立则会进入else

(2)if 和 else if块 else 块:

①这个和第一条最大的区别是:可以有多个"否则如果"的条件。

②如果不满足if条件,程序会去else if里面挨着判断。

③不管是if或者else if里面任意一个满足了之后就会跳出这个逻辑判断(即使后面仍然有待执行的

else if,此时也不会继续走下去),它会尝试走很多语句块,但是一旦找到了一个符合条件的,

就不会再去找。如果把if和else if都走完了,还没有找到符合自己条件的,并且此时语句块中还有

else块,那么程序机会选择进入else块。

其实代码没问题,只是你还没理解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)

}

)

你的每一行alert语句是不是结尾忘写分号 了 ?

……以下是我解决问题的看法:

“且四项的值不能使汉字,有一项是汉字都不行",过滤汉字就先封装一个方法,用 Unicode 字符范围判断或正则表达式 :

        //检测是否为中文,true表示是中文,false表示非中文

        function isChinese(str){

            if(/^[\u3220-\uFA29]+$/.test(str)){

                return true

            }else{

                return false

            }

        }

”只要一项有错误,就不执行加法操作“,用if{} else{} if 进行流程控制,if中对条件进行判断,如果前几项有一个不成立 ,则会跳到最后的else,如下

if(Number(one<0 || Number(one)>20 )||isChinese(one)){

   alert("第一项分值错误")

}else

if (Number(two<0 || Number(two)>25 )||isChinese(two)){

        alert("第二项分值错误")

  }else

      if (Number(three<0 || Number(three)>25) ||isChinese(three)){

          alert("第三项分值错误")

 }else

     if (Number(four<0 || Number(four)>25) ||isChinese(four)){

         alert("第四项分值错误")

     }

     else{

         var he = Num(one)+Number(two)+Number(three)+Number(four)

         eg.$("he").value=he

     }

我很少写JS  欢迎指正,希望帮到你