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限制textarea每行输入字符串长度的代码
Oct 31 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
Apr 30 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
Node.js中的缓冲与流模块详细介绍
Feb 11 Javascript
jQuery在ul中显示某个li索引号的方法
Mar 17 Javascript
js传值后台中文出现乱码的解决方法
Jun 30 Javascript
js实现九宫格的随机颜色跳转
Feb 19 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
关于HTML5的data-*自定义属性的总结
May 05 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 Javascript
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
Apr 09 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
php中的数组操作函数整理
2008/08/18 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
js读取配置文件自写
2014/02/11 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
《日月潭》教学反思
2014/02/28 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
学生吸烟检讨书
2014/09/14 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
JavaScript流程控制(循环)
2021/12/06 Javascript