JavaScript for in循环,for of循环
一、JavaScript for/in 语句循环遍历对象的属性
var person={fname:"Bill",lname:"Gates",age:56};
var txt = ""; // x 为属性名
for (x in person) {
txt = txt + person[x];
}
console.log(txt);
结果为:BillGates56
二、for...of 是 ES6 新引入的特性。它既比传统的for循环简洁,同时弥补了forEach和for-in循环的短板。
1 . 循环一个数组(Array)
let iterable = [10, 20, 30]; for (let value of iterable) {
console.log(value);
}
// 10
// 20
// 30
2. 我们可以使用const来替代let,这样它就变成了在循环里的不可修改的静态变量。
let iterable = [10, 20, 30]; for (const value of iterable) {
console.log(value);
}
// 10
// 20
// 30
3. 循环一个Map
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]); for (let [key, value] of iterable) {
console.log(value);
}
// 1
// 2
// 3 for (let entry of iterable) {
console.log(entry);
}
// [a, 1]
// [b, 2]
// [c, 3]
4. 循环一个 Set
let iterable = new Set([1, 1, 2, 2, 3, 3]); for (let value of iterable) {
console.log(value);
}
// 1
// 2
// 3
5. 循环一个 DOM collection
循环一个DOM collections,比如NodeList,之前我们讨论过如何循环一个NodeList,现在方便了,可以直接使用for-of循环。
// Note: This will only work in platforms that have
// implemented NodeList.prototype[Symbol.iterator]
let articleParagraphs = document.querySelectorAll("article > p"); for (let paragraph of articleParagraphs) {
paragraph.classList.add("read");
}
6. 循环一个拥有enumerable属性的对象
var person={fname:"Bill",lname:"Gates",age:56}; // for–of循环并不能直接使用在普通的对象上,但如果我们按对象所拥有的属性进行循环,可使用内置的Object.keys()方法:
for (var key of Object.keys(person)) {
console.log(key + ": " + person[key]);
} // fname: Bill
// lname: Gates
// age: 56
7. for...in 循环会自动跳过那些没被赋值的元素,而 for 循环则不会,它会显示出 undefined。
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction(){
var array = new Array();
var x;
var txt=""
array[0] = 1;
array[3] = 2;
array[4] = 3;
array[10] = 4;
for( x in array ){
alert(array[x]); // 依次显示出 1 2 3 4
}
alert(array.length); // 结果是11
for( var i=0 ; i<4 ; i++){
alert(array[i]); // 依次显示出 1 undefined undefined 2
}
document.getElementById("demo").innerHTML = txt;
}
</script>
JavaScript for in循环,for of循环的更多相关文章
- JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框
If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...
- JavaScript中让Html页面中循环播放文字
JavaScript中让Html页面中循环播放文字 <html> <head> <meta http-equiv="Content-Type" con ...
- 刘强1109 JavaScript基础二(分支与循环结构)
[if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ...
- 细说JavaScript对象(4): for in 循环
如同 in 运算符一样,使用 for in 循环遍历对象属性时,也将往上遍历整个原型链. // Poisoning Object.prototype Object.prototype.bar = 1; ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
- JavaScript 中的常用12种循环遍历(数组或对象)的方法
1.for 循环 let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 ...
- (16)JavaScript的流程控制(js的循环)
流程控制有3种结构 1.顺序结构:代码执行的本质就是顺序结构 2.分支结构:if家族 语法规则: if (条件1) { //代码块1}else if (条件2){ //代码块1}//如果所有条件都不满 ...
- 详细介绍javascript中的几种for循环的区别
偶然间见到了forEach循环,感觉很新奇,就研究了一下,顺带着把js中的几种for循环做了一个比较. 首先,简单说一下,js中一共大概有四种for循环:(1).那种简单常见的for循环:(2).fo ...
- GO学习笔记 - Go 只有一种循环结构—— for 循环。
一,Go 只有一种循环结构—— for 循环. 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环. 基本的 for 循环包含 ...
- JS流程控制语句 反反复复(while循环) 和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。
反反复复(while循环) 和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足. while语句结构: while(判断条件) { 循环语句 } 使用w ...
随机推荐
- maven 引入了jar包,但却不能使用jar包里类
无报错,但是就是 无法 使用 lombok 的类. 发现classpath 里面也的确没有lombok jar包. 最后把json 的 version 属性加上 就正常了. 所以 结论: 不加vers ...
- 【C++复习】第九章 模板与群体数据(2)
学习重点:容器类型内部的实现机制,顺便复习前面各章内容.容器类型的具体实现不需要特别关注(目前不需要会裸手写这么一个容器类型) 1.群体/线性群体 群体的概念 群体是指由多个数据元素组成的集合体.群体 ...
- C#基础篇【类型转换原则】
C#可以提供兼容类型的转换,转换始终会根据一个存在的值创建另一个新的值,转换分为两种,显式转换 隐式转换 隐式转换:自动发生 显示转换:需要添加强制转换 在一下案列中 我们把Int 32隐式转换为Do ...
- 51nod1355
没啥意思的板子题. 首先,众所周知, \[\gcd\{f_a,f_b\}=f_{\gcd\{a,b\}} \] 所以考虑将 \(\operatorname{lcm}\) 转化为 \(\gcd\). \ ...
- 03 Spark RDD编程基础
1. 准备文本文件从文件创建RDD lines=sc.textFile()筛选出含某个单词的行 lines.filter() 2. 生成单词的列表从列表创建RDD words=sc.paralleli ...
- 刚开始学python不知从何学习推荐你一本《Python零基础入门》书,免费领取
百度云盘:Python零基础入门学习pdf高清版书籍下载 提取码:yzh3
- 敌兵布阵 HDU - 1166 - 单点修改,区间查询:树状数组/线段树
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况.由于 ...
- Docker--搭建 Python + Pytest +Allure 的自动化测试环境
本文参考:https://www.cnblogs.com/poloyy/p/13954637.html 下载Jenkins镜像 docker search jenkins 推荐使用第二个:docker ...
- Qt中QGraphicsScene和QraphicsView显示坐标问题解决
相信打开这个界面的你,一定遇到了这两玩意儿设置完坐标发现对不上的问题...查询Qt官方文档后发现: 网上搜索了一番,基本上这个坐标系就是长酱紫: 所以加上这行代码就行了: ui->graphic ...
- ssh scp 相关
1. 设置ssh 的免密登录 1> 将 ~/.ssh/id_rsa.pub文件中的内容拷贝到 远程host的 ~/.ssh/authorized_keys文件中 2> ssh-copy-i ...