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 相关文章推荐
js不间断滚动的简单实现
Jun 03 Javascript
基于jQuery实现表格的排序
Dec 02 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
jQuery代码实现实时获取时间
Jan 29 Javascript
Angular中使用MathJax遇到的一些问题
Dec 15 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
vue无限轮播插件代码实例
May 10 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
Dec 09 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 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
我常用的几个类
2006/10/09 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
pycharm的python_stubs问题
2020/04/08 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
关于爱国的标语
2014/06/24 职场文书
校园元旦活动总结
2014/07/09 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
高中教师个人工作总结
2015/02/10 职场文书
如何理解及使用Python闭包
2021/06/01 Python