Javascript-JS问题:continue语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript-JS问题:continue语句相关的知识,希望对你有一定的参考价值。

1---var i=1
2---while(i<20)
3--- if(i%20!=0 --------第二次循环i=2时候,第3行语句是执行的,判断到i=2后,下边的第4行是否就不会执行了(我个人认为不会执行了),如果不会执行,那么这个循环不是中断了吗,如果继续执行,则意味着,循环是否执行根本不是由if来判断控制的吗?这里不明求解,学习php中遇到的问题,js此前没学过,运行顺序(机制)望能讲解
4--- i++;
5--- continue;
6---
7--- str=str+i+"";
8--- I++;
9---
抱歉各位
第3行改为
3--- if(i%2!=0)
各位海涵

参考技术A i = 2 时,if内的语句正常执行!
因为,i在1到20之间的时候,i%20的值都不会为0。
也就是说while循环会一直且只执行if语句中的部分,直到i=20 退出while循环。
你可以写个简单的html文件在里面写上这段脚本验证一下。

补充:JS区分大小写。尾部的 I++ 不会对i 起作用。str 和 I 都会被当做未声明的对象处理。
参考技术B continue是回到while循环,不是回到if判断
就是说程序到这里直接继续下一次循环,本次循环跳过了追问

那么4行的i++是 while的循环执行语句,不受if的影响吗?

追答

4行的i++是为了让i向下走一步,然后continue到while继续进行循环,要不然i不变,一直卡在一个地方,成了死循环了,想想是不是

追问

抱歉,大虾,我真的没懂,这个i++虽然位于while这个大循环中,但不是也在if的大括号中吗?if条件不满足还会继续执行if括号内的语句吗?
这么说吧,我觉得按照while的循环,是会往下执行到第4行的i++语句,但是如果按照if的条件,不成立啊,if大括号内的语句还执行?也就是说while和if的控制是矛盾的呢,我是这样看的,可能不对,想问的是我这样思考是不是哪里没搞明吧?不吝赐教,再谢
第三行改一下3--- if(i%2!=0)是取2的模

追答

if条件不满足时是不会执行if里边的任何语句的,比如i=1时,if条件成立,执行第4行,然后第5行,然后直接到while继续循环了;当i=2时,if条件不成立,这时第4行、第5行不执行,执行第7行、第8行,然后到while继续循环
分给我吧

本回答被提问者采纳
参考技术C continue就是比你的继续执行语句。
如果不满足你的条件,
你就可以用continue跳出当前循环继续下一个循环。
注意一下语法就行了。
continue是跳出当前的循环。
break是跳出全部循环。追问

我不是问这个,小编,我是觉得if和while对i++这句的控制矛盾了,基本功能我能明白啥意思,小编这个问题重点不是我不知道用法.

追答

没有矛盾。
while是告诉你进行循环。
if是是判断如果i不满足条件就不跳出当前循环。
根本就不冲突。

参考技术D 你的理解是对的,只是
3--- if(i%20!=0 -------按你中文的意思是想和 2 取模,但是这里你写成了 20

另外终止循环是用break跳出,continue只是忽略当前的这一步循环体追问

是的,谢谢更正,我太急于知道答案,这里问题本身都有错居然没发现,谢谢你的指点,另外请关注下我对1楼的追问,希望您能给予解答,谢谢

追答

1---var i=1
2---while(i<20)
3--- if(i%2!=0 --------i=2时候,第4第5行是不执行的
4--- i++;
5--- continue;
6---
7--- str=str+i+""; --------i=2时直接跳到这里,如果第8行不是i是l的话,那么这段代码就死循环了
8--- I++;
9---

javascript-js将form表单序列化[json字符串数组对象]

1.序列化为字符串

$("#Form").serialize();//name=zhangsan&sex=1&age=20  

2.序列化为数组

  $("#form").serializeArray();//[Object, Object, Object] 

3.序列化为对象

    function getFormJson(form) {
        var o = {};
        var a = $(form).serializeArray();
        $.each(a, function () {
            if (o[this.name] !== undefined) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || ‘‘);
            } else {
                o[this.name] = this.value || ‘‘;
            }
        });
        return o;
    }

4.ajax传递普通数组 

var deleteNum= [];//定义要传递的数组
deleteNum.push("1");
deleteNum.push("2");
deleteNum.push("3");//向数组中添加元素

$.ajax({
    type:"post",
    url:"deleteNum.do",
    data:{deleteNum:deleteNum},
    traditional: true,//必须指定为true
    success:function(data){
        if(data.success){
            deleteNum = [];
        }
    }
});

后端代码

public AjaxResult deleteNum(String[] deleteNum){
    AjaxResult ajaxResult = new AjaxResult();
    //这个时候已经得到了deleteNum数组值
    return ajaxResult;
}

5.form表单提交自定义对象数组 

<form id="form" name="form"  method="post">
 <input type="hidden" name="table" value="user">
<table> <tr> <td><input type="text" name="userList[0].name"/></td> <td><input type="text" name="userList[0].password"/></td> </tr> <tr> <td><input type="text" name="userList[1].name"/></td> <td><input type="text" name="userList[1].password"/></td> </tr> <tr> <td><input type="text" name="userList[2].name"/></td> <td><input type="text" name="userLIst[2].password"/></td> </tr> </table> </form>

ajax提交

$("#form").serializeArray()

后端接收

    public class FormList {
        private String table;
        private ArrayList<User> userlist;
        
        public String getTable() {
            return table;
        }
        public void setTable(String table) {
            this.table = table;
        }
        public ArrayList<User> getUserlist() {
            return userlist;
        }
        public void setUserlist(ArrayList<User> userlist) {
            this.userlist= userlist;
        }
    }
public AjaxResult saveUpdateUser(FormList list){
    List<User> userlist = list.getUserlist(); 
}

 










以上是关于Javascript-JS问题:continue语句的主要内容,如果未能解决你的问题,请参考以下文章

javascript-js 的prototype原型理解讲解

javascript-js中技巧集合

javascript-js将form表单序列化[json字符串数组对象]

JavaScript-js怎样判断手机浏览器

Python入门教程第20篇 continue语句

Java中goto,continue,break