js 对于jquery each 多层循环的问题和原生js多层循环问题
2024-08-21 09:41:30
一、在jquery中,我们使用循环的时候,提供两种方式:jquery.each 和(循环体).each 两种方式不是同。
对于return 在作用这两个的函数的时候需要注意:
首先我们需要知道我们的each循环内的都是匿名函数。但是遇到不同的return值,结果是不一样的。
1)jqury.each:我们在调用的时候,如果return false 退出循环体。
var a=[[,],[,]]
function test(){
$.each(a,function(i,v){
$.each(v,function(o,p){
if(p===){
return false;
}
console.log(p); })
})
}
无返回值。如果我们返回true的时候,
2)(循环体).each(function(){})如果返回false的时候,调出循环体:
3)在正常的情况下,我们在使用原生的for循环的时候,不会出现上面情况,原生for循环没有匿名函数。
function test(){
for(var i=;i<a.length;i++){ for (var j=;j<a.length;j++){ console.log(a[i][j])
if(i==){
return true;
}
}
} } test()
二、在原生js中,我们进行多层循环的时候,跳出循环我们可以使用continue和break。有时候需要和label语句配合起来使用。
1、lable语句:
lable标签:statement
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
function lableTest(argument) {
var num=;
outer:
for(var i=;i<;i++){
for (var j=;j<;j++){
if(i===&&j===){
break outer;
}
num++
}
}
alert(num);
}
lableTest();
</script>
</body>
</html>
使用 “break 标签名字“ 跳出循环,跳出指定的标签的循环。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
function lableTest(argument) {
var num=; for(var i=;i<;i++){
outer:
for (var j=;j<;j++){
if(i===&&j===){
break outer;
}
num++
}
}
alert(num);
}
lableTest();
</script>
</body>
</html>
continue 也是如此,我们一般在使用标签和break、continue 配合使用,一般在嵌套循环使用。
最新文章
- Oracle学习笔记三 SQL命令
- pip China
- centos 7 搭建本地yum仓库
- copy file to docker from realhost
- 利用Swift之协议语法实现页面间的传值功能
- IntelliJ IDEA 14 注册码生成java代码(转)
- SQL_修改表结构
- Effective JavaScript :第五章
- FFmpeg安装(windows环境)
- 如何验证所做的AIX系统备份是否可用
- 高通android开发摘要
- json与javabean之间的转化
- H5自定义属性data-*
- Python 学习笔记6 变量-字典
- springMVC整理03--处理数据模型 &; 试图解析器 &; @ResponseBody &; HttpEntity
- 【C++/实验三】类和对象
- ubuntu卸载软件命令,apt-get remove
- IDEA &; Android Studio换主题背景
- JS post 数组道后台
- 【OCP|052】OCP 11g最新考题收集整理-第6题