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

简单电商网站模板点评网站建设

简单电商网站模板,点评网站建设,网站推广软文选择天天软文,iis wordpress固定链接404在前端开发中,处理数组和对象是日常工作的基础。无论是篇文章将通过一个具体案例,详细讲解如何使用JavaScript遍历包含对象的数组,并将数据以清晰的格式展示在页面上。我们会从基础语法开始,逐步优化代码,最终实现一个…

在前端开发中,处理数组和对象是日常工作的基础。无论是篇文章将通过一个具体案例,详细讲解如何使用JavaScript遍历包含对象的数组,并将数据以清晰的格式展示在页面上。我们会从基础语法开始,逐步优化代码,最终实现一个既美观又实用的数据展示效果。

案例需求分析

我们需要处理一个包含人员信息的数组,每个元素都是一个包含bianhao(编号)、name(姓名)和age(年龄)属性的对象:

var personShuZu = [{'bianhao':007,'name':'诗书画唱1','age':20},{'bianhao':666,'name':'诗书画唱2','age':21},{'bianhao':233,'name':'诗书画唱3','age':22},
];

目标是将这些数据以结构化的方式展示在页面上,替代仅要显示数据,还要保证格式清晰、易于阅读。

基础实现:使用for…of和for…in遍历

首先,我们来分析原始代码的实现思路,它使用了两种不同的循环方式来处理数据:

  1. for...of:用于遍历数组元素(遍历数组的具体内容或值)
  2. for...in:用于遍历对象属性(遍历对象的属性名)

原始代码解析

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>人员信息展示</title>
<script>
var personShuZu=[{'bianhao':007,'name':'诗书画唱1','age':20},{'bianhao':666,'name':'诗书画唱2','age':21},{'bianhao':233,'name':'诗书画唱3','age':22},
];// 使用for...of遍历数组中的每个对象
for(var i of personShuZu){// 使用for...in遍历对象的每个属性for(var j in i){// 输出属性值,并用&nbsp;分隔document.write(i[j]+"&nbsp;");}// 每个对象的数据显示完后换行document.write("<br>");
}
</script>
</head>
<body>
</body>
</html>

这段代码的执行流程是:

  • 外层for...of循环逐个取出数组中的人员对象
  • 内层for...in循环遍历当前人员对象的所有属性
  • 使用document.write()输出属性值,并用空格分隔
  • 每个人员信息输出完成后换行

存在的问题

虽然这段代码能够展示数据,但存在几个明显的不足:

  1. 使用document.write()直接输出,不利于页面布局控制
  2. 没有表头,用户无法直观知道每个数值的含义
  3. 样式简陋,数据展示不够清晰
  4. 编号007会被解析为7(数字前导零问题)

优化实现:结构化展示与样式美化

让我们对代码进行全面优化,实现一个更专业的数据展示效果。

优化思路

  1. 使用DOM操作替代document.write():更灵活地控制页面元素
  2. 添加表头:明确每个数据字段的含义
  3. 使用表格布局:使数据展示更规整
  4. 添加CSS样式:提升视觉效果和可读性
  5. 修复数字前导零问题:确保编号正确显示
  6. 使用更现代的JavaScript语法:如const/let替代var

优化后的完整代码

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>人员信息表</title><style>/* 页面基础样式 */body {font-family: 'Arial', sans-serif;margin: 20px;background-color: #f5f5f5;}/* 标题样式 */.title {color: #333;text-align: center;margin-bottom: 20px;}/* 表格样式 */.person-table {width: 100%;max-width: 600px;margin: 0 auto;border-collapse: collapse;background-color: white;box-shadow: 0 2px 5px rgba(0,0,0,0.1);}/* 表头样式 */.person-table th {background-color: #4CAF50;color: white;padding: 12px 15px;text-align: left;}/* 表格单元格样式 */.person-table td, .person-table th {border: 1px solid #ddd;padding: 12px 15px;}/* 表格行悬停效果 */.person-table tr:hover {background-color: #f8f8f8;}</style>
</head>
<body><h2 class="title">人员信息列表</h2><table class="person-table" id="personTable"><!-- 表格内容将通过JavaScript动态生成 --></table><script>// 人员数据(使用const声明常量)const personShuZu = [{'bianhao': '007', 'name': '诗书画唱1', 'age': 20},  // 编号改为字符串以保留前导零{'bianhao': '666', 'name': '诗书画唱2', 'age': 21},{'bianhao': '233', 'name': '诗书画唱3', 'age': 22},];// 获取表格元素const table = document.getElementById('personTable');// 创建表头行const headerRow = document.createElement('tr');// 定义表头文本(与数据属性对应)const headers = ['编号', '姓名', '年龄'];// 定义数据属性名const properties = ['bianhao', 'name', 'age'];// 创建表头单元格headers.forEach(headerText => {const th = document.createElement('th');th.textContent = headerText;headerRow.appendChild(th);});// 将表头添加到表格table.appendChild(headerRow);// 遍历人员数组,创建表格内容行personShuZu.forEach(person => {const row = document.createElement('tr');// 为每个属性创建单元格properties.forEach(prop => {const td = document.createElement('td');td.textContent = person[prop];row.appendChild(td);});// 将行添加到表格table.appendChild(row);});</script>
</body>
</html>

关键知识点解析

1. 数组与对象的遍历方式

JavaScript提供了多种遍历数组和对象的方法,各有适用场景:

  • for…of循环:适合遍历数组元素,语法简洁

    for (const person of personShuZu) {// 处理每个人员对象
    }
    
  • for…in循环:适合遍历对象的属性

    for (const key in person) {// 处理每个属性console.log(key + ': ' + person[key]);
    }
    
  • forEach方法:数组的内置方法,更现代的遍历方式

    personShuZu.forEach(person => {// 处理每个人员对象
    });
    

2. DOM操作 vs document.write()

document.write()虽然简单,但有明显缺点:

  • 会覆盖整个文档(如果在页面加载完成后使用)
  • 不利于代码组织和维护
  • 无法精确控制元素位置和样式

推荐使用DOM操作方法:

  • document.createElement():创建新元素
  • element.appendChild():添加子元素
  • element.textContent:设置元素文本内容

3. 数据类型注意事项

原始代码中编号007会被解析为数字7,因为JavaScript会自动忽略数字的前导零。解决方法:

  • 将编号定义为字符串类型(如'007'
  • 如需数字类型,可在展示时格式化:
    // 将数字格式化为3位,不足补零
    function formatNumber(num) {return num.toString().padStart(3, '0');
    }
    

拓展与实践

基于这个案例,你可以尝试以下拓展练习:

  1. 添加数据筛选功能:实现按年龄筛选人员的功能
  2. 添加排序功能:实现按编号或年龄排序
  3. 添加新增/删除功能:允许动态添加或删除人员信息
  4. 实现分页:当数据量较大时,分页展示数据
  5. 添加搜索功能:根据姓名模糊搜索人员

这些拓展将帮助你更深入地理解JavaScript数组操作、DOM manipulation和事件处理等核心前端技能。

总结

本文通过一个人员信息展示的案例,详细讲解了JavaScript中数组对象的遍历方法和数据展示技巧。我们从基础实现出发,逐步优化代码,最终实现了一个既美观又实用的数据展示页面。

核心要点回顾:

  • 选择合适的遍历方式处理数组和对象
  • 优先使用DOM操作替代document.write()
  • 注意数据类型对展示效果的影响
  • 合理运用CSS样式提升页面美观度
  • 代码组织应注重可读性和可维护性

掌握这些基础技能,将为你处理更复杂的前端数据展示需求打下坚实基础。

http://www.dtcms.com/a/448146.html

相关文章:

  • 阿坝网站建设做网上竞彩网站合法吗
  • 悠悠我心个人网站模板成都网站建设哪家
  • 制作网页网站小说教程抖音代运营保证金
  • 潍城营销型网站建设怎么查询域名
  • 陕西免费网站建设网站流量被黑
  • 专业企业网站制作怎么做c2c电子商务
  • 北京网站优建设保证量身定制的营销型网站
  • 网页站点怎么命名编程自学教程入门
  • 网站代运营 如何纳税龙岗区网站建设公司
  • 建一个团购网站谷歌建站哪家好
  • 昆明专业网站排名推广做卖东西的网站多少钱
  • 做网站的用什么电脑好湖南网站建设 要上磐石网络
  • 外国网站英语要求泉州百度推广排名优化
  • 泰顺机械网站建设logo商标设计公司
  • 购物网站的目的和意义怎样在网站上做销售
  • 网站需要兼容哪些浏览器深圳网站建设的服务怎么样
  • 东台做网站找哪家好网站制作网站模板
  • 舟山网站建设开发青少年编程培训教育
  • 一款电脑定时关机软件工具
  • 薛城做网站东莞百度推广教程
  • 如何建设线报网站wordpress主题换图片不显示不出来
  • 网站产品介绍长图哪个软件做的域名解析服务器ip地址
  • 怎么用自己电脑做服务器发布网站吗免费h5源码资源源码站
  • wordpress禁止右键模板网站会影响网站优化吗
  • 网站 优化 教程wordpress获取当前分类名
  • 手机网站微信登录建晨网站建设
  • wordpress网站变慢删除WordPress底部
  • 手机版网站建设费用清单做外贸面料哪个网站可以接单
  • 邵阳哪里做网站罗湖网站建设的公司哪家好
  • 集约化网站建设情况企业级网站内容管理解决方案