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 相关文章推荐
超级简单的图片防盗(HTML),好用
Apr 08 Javascript
jQuery 使用手册(二)
Sep 23 Javascript
前端开发必须知道的JS之原型和继承
Jul 06 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
JavaScript中的排序算法代码
Feb 22 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
VUE中使用Vue-resource完成交互
Jul 21 Javascript
深入分析jQuery.one() 函数
Jun 03 jQuery
详解React中共享组件逻辑的三种方式
Feb 02 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 APC的安装与使用详解
2013/06/13 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
python中reload重载实例用法
2020/12/15 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
Yahoo-PHP面试题1
2016/07/20 面试题
一套C#面试题
2013/10/09 面试题
装潢设计专业推荐信模板
2013/11/26 职场文书
小学语文教研活动总结
2014/07/01 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
淘宝好评语句大全
2014/12/31 职场文书