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中合并数组的N种方法
Sep 16 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
基于Bootstrap仿淘宝分页控件实现代码
Nov 07 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
详解Vuejs2.0之异步跨域请求
Apr 20 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
jQuery实现图片下载代码
Jul 18 jQuery
微信小程序8种数据通信的方式小结
Feb 03 Javascript
Web应用开发TypeScript使用详解
May 25 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通用检测函数集合
2006/11/25 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
js 操作符汇总
2014/11/08 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
package.json文件配置详解
2017/06/15 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python导入库的具体方法
2020/06/18 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
个人贷款承诺书
2014/03/28 职场文书
军训口号
2014/06/13 职场文书
学雷锋宣传标语
2014/06/25 职场文书
安全责任书怎么写
2014/07/28 职场文书
学校推普周活动总结
2015/05/07 职场文书
小学班级管理心得体会
2016/01/07 职场文书
六年级作文之关于梦
2019/10/22 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
Python中requests做接口测试的方法
2021/05/30 Python