JavaScript 几种循环方式以及模块化的总结


Posted in Javascript onSeptember 03, 2020

小小最近学习到了js的几种循环方式,对这几种循环方式进行总结。以及对模块化的相关知识点进行总结,

循环方式

循环方式分为好几种循环方式,分别是for循环,forEach循环,map循环,for..in循环,for…of循环,jquery的循环。

小小将会依次对这几种循环方式进行介绍。

一般数组遍历循环

这里使用常用的数组遍历方式。

一般来说,常用的数组遍历如下

for (var index = 0; index < myArray.length; index++) {
 console.log(myArray[index]);
}

这样就完成了常规的循环遍历。

在es5以后,添加了forEach,通过forEach进行循环遍历

myArray.forEach(function (value) {
 console.log(value);
});

这里通过forEach函数,完成对数组的遍历。

缺点: 这样使用有个致命的缺点,不能中断循环,即,不能使用break和return

for-in 循环遍历

for-in循环是为专有对象进行设置的,如下

var obj = {a:1, b:2, c:3};

循环结果如下

for (var prop in obj) {
 console.log("obj." + prop + " = " + obj[prop]);
}

// 输出:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

循环一个数组的时候,使用如下的方式进行循环。

for (var index in myArray) {  // 不推荐这样
 console.log(myArray[index]);
}

for-of 循环

数组

for-of循环可以遍历数组等内容

let iterable = [10, 20, 30];

for (let value of iterable) {
 console.log(value);
}
// 10
// 20
// 30

此时完成了对数组的遍历。

字符串

此时还可以遍历一个字符串

let iterable = "boo";

for (let value of iterable) {
 console.log(value);
}
// "b"
// "o"
// "o"

循环一个Map

还可以循环一个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]

循环一个set

还可以循环一个set

let iterable = new Set([1, 1, 2, 2, 3, 3]);

for (let value of iterable) {
 console.log(value);
}
// 1
// 2
// 3

以上是基本的循环

模块化

对js的模块化进行介绍

以前,js文件在一个文件里,使用js的模块化,可以实现对多个js文件可以进行分离,实现工程化

这里介绍最常用的es6模块化

export 与 import

这里介绍export和import这两种方式。

文件如下

/*-----export [test.js]-----*/
let myName = "Tom";
let myAge = 20;
let myfn = function(){
  return "My name is" + myName + "! I'm '" + myAge + "years old."
}
let myClass = class myClass {
  static a = "yeah!";
}
export { myName, myAge, myfn, myClass }

/*-----import [xxx.js]-----*/
import { myName, myAge, myfn, myClass } from "./test.js";
console.log(myfn());// My name is Tom! I'm 20 years old.
console.log(myAge);// 20
console.log(myName);// Tom
console.log(myClass.a );// yeah!

这里分为两个文件,分别为test.js和xxx.js test.js定义了几个变量,并导出了

myName, myAge, myfn, myClass

等,几个变量。

使用import命令,导入了一些变量,进入到命名空间,使用console.log可以进行读取

console.log(myfn());// My name is Tom! I'm 20 years old.
console.log(myAge);// 20
console.log(myName);// Tom
console.log(myClass.a );// yeah!

as

as在这里,实现重命名的方式,实现导入的时候,命名的更改。

import { myName as name1 } from "./test1.js";
import { myName as name2 } from "./test2.js";
console.log(name1);// Tom
console.log(name2);// Jerry

这些就完成了基本的导入和导出

以上就是JavaScript 几种循环方式以及模块化的总结的详细内容,更多关于JavaScript 循环方式以及模块化的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javascript 定义初始化数组函数
Sep 07 Javascript
jquery弹出框的用法示例(2)
Aug 26 Javascript
jquery.cookie用法详细解析
Dec 18 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
JS实现div模块的截图并下载功能
Oct 17 Javascript
jquery ztree实现右键收藏功能
Nov 20 jQuery
layui点击按钮添加可编辑的一行方法
Aug 15 Javascript
小程序实现订单倒计时功能
Apr 23 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
Oct 28 Javascript
js实现限定区域范围拖拉拽效果
Nov 20 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 #Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 #Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 #Javascript
vue中的.$mount('#app')手动挂载操作
Sep 02 #Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 #Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 02 #Javascript
vue或react项目生产环境去掉console.log的操作
Sep 02 #Javascript
You might like
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
Javascript面向对象编程
2012/03/18 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python实现基于HTTP文件传输实例
2014/11/08 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
预备党员党校学习自我评价分享
2013/11/12 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书