当前位置: 首页 > news >正文

铭万网站建设百度云虚拟主机如何建设网站

铭万网站建设,百度云虚拟主机如何建设网站,网站后台忘了,前端面试循环是编程中控制流程的核心工具。本文将详细介绍 JavaScript、ES6 及 TypeScript 中各种循环的写法、特性,并通过实际示例帮助你掌握它们的正确使用姿势。 目录 传统三剑客 for 循环 while 循环 do...while 循环 ES6 新特性 forEach for...of for...in 数组…

循环是编程中控制流程的核心工具。本文将详细介绍 JavaScript、ES6+ 及 TypeScript 中各种循环的写法、特性,并通过实际示例帮助你掌握它们的正确使用姿势。


目录

  1. 传统三剑客

    • for 循环

    • while 循环

    • do...while 循环

  2. ES6 新特性

    • forEach

    • for...of

    • for...in

  3. 数组高阶方法

    • map

    • filter

  4. TypeScript 特别注意事项

  5. 循环对比与选择指南


一、传统三剑客

1. for 循环

特性

  • 最基础的循环结构

  • 明确控制循环次数

  • 支持 break 和 continue

// JavaScript
for (let i = 0; i < 5; i++) {console.log(i); // 0-4
}// TypeScript
const items: number[] = [10, 20, 30];
for (let i: number = 0; i < items.length; i++) {console.log(items[i]);
}

2. while 循环

特性

  • 条件前置检查

  • 适合不确定循环次数的情况

let count = 0;
while (count < 3) {console.log(count++); // 0,1,2
}

3. do...while 循环

特性

  • 至少执行一次

  • 条件后置检查

let x = 5;
do {console.log(x--); // 输出5后停止
} while (x > 5);

二、ES6 新特性循环

1. forEach

特性

  • 数组专用方法

  • 无法使用 break/continue

  • 回调函数参数丰富

const colors = ['red', 'green', 'blue'];// JavaScript
colors.forEach((color, index) => {console.log(`${index}: ${color}`);
});// TypeScript
interface ColorItem {id: number;name: string;
}const colorObjects: ColorItem[] = [{ id: 1, name: 'red' },{ id: 2, name: 'green' }
];colorObjects.forEach((item: ColorItem) => {console.log(item.id.toString());
});

2. for...of

特性

  • 支持所有可迭代对象

  • 可直接获取元素值

  • 支持 break/continue

// 遍历数组
const nums = [10, 20, 30];
for (const num of nums) {if (num > 20) break;console.log(num); // 10,20
}// 遍历字符串
for (const char of 'Hello') {console.log(char); // H,e,l,l,o
}// TypeScript 泛型示例
const mixedArray: Array<string | number> = ['a', 1, 'b'];
for (const item of mixedArray) {if (typeof item === 'string') {console.log(item.toUpperCase());}
}

3. for...in

特性

  • 遍历对象可枚举属性

  • 会遍历原型链属性

  • 数组索引为字符串类型

const obj = { a: 1, b: 2 };// JavaScript
for (const key in obj) {if (obj.hasOwnProperty(key)) {console.log(`${key}: ${obj[key]}`);}
}// TypeScript 类型断言
interface MyObject {[key: string]: number;
}const typedObj: MyObject = { x: 10, y: 20 };
for (const key in typedObj) {const value = typedObj[key];console.log(value.toFixed(2));
}

三、数组高阶方法

1. map

特性

  • 返回新数组

  • 数据转换专用

// TypeScript
const numbers: number[] = [1, 2, 3];
const squares: number[] = numbers.map(n => n * n);

2. filter

特性

  • 返回过滤后的新数组

  • 条件筛选利器

const users = [{ name: 'Alice', age: 25 },{ name: 'Bob', age: 17 }
];const adults = users.filter(user => user.age >= 18);

四、TypeScript 特别注意事项

  1. 类型注解

    // 明确声明索引类型
    const arr: number[] = [1, 2, 3];
    for (let i: number = 0; i < arr.length; i++) {const item: number = arr[i];
    }

  2. 枚举遍历

    enum Color { Red = 'RED', Green = 'GREEN' }
    for (const colorKey in Color) {const colorValue = Color[colorKey as keyof typeof Color];
    }

  3. 对象遍历

    interface User {id: number;name: string;
    }const user: User = { id: 1, name: 'Alice' };
    for (const key in user) {const value = user[key as keyof User];
    }


五、循环选择指南

循环类型最佳使用场景是否可中断返回值
for确定次数的循环
for...of遍历数组/可迭代对象
for...in遍历对象属性
forEach简单数组遍历undefined
map数组元素转换新数组
filter数组元素过滤新数组

总结建议

  1. 优先考虑可读性:在性能差异不大时,选择更语义化的方式

  2. 注意类型安全:TypeScript 中要确保循环变量正确类型

  3. 避免副作用:尽量使用纯函数式方法处理数据

  4. 性能关键场景:大数据量时优先考虑传统 for 循环

掌握各种循环的特点,根据具体场景选择合适的迭代方式,将显著提升代码质量和开发效率。

如果对你有帮助,请帮忙点个👍

http://www.yayakq.cn/news/276843/

相关文章:

  • 做窗帘的厂家网站动态链接做网站外链图
  • 可信赖的郑州网站建设wordpress怎么添加代码
  • 如何做属于自己的网站工程建设概况
  • 临沧网站搭建详情页的五个基本模块
  • 专业网站建设要多少钱想学图文广告哪里有教的
  • 做爰全过程免费的视网站如何制作课程网站模板下载地址
  • 建设网站必须要服务器吗有没有做软件的外包网站
  • 中山祥云网站建设品牌建设指导意见
  • 医院网站绿色模板电脑手机自适应网站的建设
  • 应用商店网站模板wordpress小型门户
  • 网站推广做的比较好的公司关于做芯片类招聘的网站
  • 湖南建设长沙网站建设价格家居网站建设平台
  • 网站建设响应式济南网站建设山东聚搜网力推
  • 网站建设与管理指什么企业网站建设优势
  • 淘宝客网站开发教程做玩具什么 网站比较好
  • 企业内部门户网站建设方案云建设网站
  • 大型大型网站制作免费域名申请 知乎
  • 泉州外贸网站开发公司静态网站开发实训报告
  • com网站域名注册注册城乡规划师协会
  • 沈阳网站建设方案模板富阳网站建设找哪家
  • 电商网站图片wordpress站点添加skype
  • 有做网站的吗 优帮云wordpress搬家全站 404
  • 做公司 网站房地产信息管理系统软件
  • 新加坡做网站的价格试玩网站开发
  • 沈阳做网站的地方赣州章贡区二手房出售信息
  • 如何增加网站流量如何用域名进网站
  • 建设推广网站网站建设标准流程及外包注意事项
  • 广州专业的网站制作电子商务平台建设
  • 用dw做的网站怎么上传家装十大品牌排行榜
  • 学校网站开发实际意义潍坊网络科技有限公司