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)
各位海涵
因为,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继续循环
分给我吧
如果不满足你的条件,
你就可以用continue跳出当前循环继续下一个循环。
注意一下语法就行了。
continue是跳出当前的循环。
break是跳出全部循环。追问
我不是问这个,小编,我是觉得if和while对i++这句的控制矛盾了,基本功能我能明白啥意思,小编这个问题重点不是我不知道用法.
追答没有矛盾。
while是告诉你进行循环。
if是是判断如果i不满足条件就不跳出当前循环。
根本就不冲突。
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原型理解讲解