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 布尔型分析
Dec 22 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
Feb 18 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
May 16 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
vue实现登录后页面跳转到之前页面
Jan 07 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
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 采集获取指定网址的内容
2010/01/05 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
jQuery 选择器理解
2010/03/16 Javascript
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
详解React 元素渲染
2020/07/07 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
J2EE中的容器都包括哪些
2013/08/21 面试题
热爱祖国的演讲稿
2014/05/04 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
React forwardRef的使用方法及注意点
2021/06/13 Javascript