相位记录

相位记录

您好,欢迎来到我的博客!我正在学习 Javascript、HTML 和其他技能来学习全栈软件开发,并将在这里记录我的一些经验,以此来盘点我迄今为止的知识并分享我在此过程中学到的一些经验教训与其他新程序员一起。

这篇文章将讨论我在学习 Javascript 时所犯的一些错误,特别是在做我的第一个大项目时。我的项目从 API 获取有关化妆品的信息,并以有组织且视觉上令人愉悦的方式将其放在网页上。

错误#1:没有尽可能实现自动化
我的项目从中获取信息的 API 是一个大型数组,因此我最终决定构建项目的方式是在我的 API 返回的数组上使用 forEach 方法,并为每个元素动态创建一个新的 div HTML 元素。每种化妆品的阵列。您可以在下面的屏幕截图的第 10 行开始看到此结构。

图片描述

但是,最初,我尝试将 API 数组的每个元素分配给我已经在项目的 HTML 文件中创建的 div HTML 元素。事实证明,这种方法非常困难,因为我必须手动创建我知道会与 API 数组元素匹配的 div,而不是根据 API 中的信息创建新的 HTML 元素,这种策略非常耗时且更容易出错。此外,如果 API 数组元素发生更改,我最初的想法将无法实现,这将使我的项目的通用性大大降低。尽管出于上述原因,我创建 div HTML 元素的非动态方法对于我的项目来说并不是正确的选择,但我认为在以这种方式尝试我的项目时仍然学到了宝贵的经验教训,因此我将在这篇文章将来自该代码。

错误#2:身份错误
如果某些东西不起作用,最好检查一下您正在更改的代码的方面是否如您所想。您可能会收到错误,因为您尝试使用不适用的方法。对于此类故障排除有帮助的两个工具是 console.log() 和 typeOf()。
当我的项目的初始代码未按计划运行时,我使用了这两种方法。当同时使用 console.log() 和 for 循环时,将一个放在 for 循环内部,另一个放在 for 循环外部会很有帮助,这样您就可以准确地看到代码停止运行的位置。
您可以在下面的屏幕截图中看到我是如何做到这一点的。

图片描述

后来,我还做了 console.log(typeOf(thisDiv)) 来查看 thisDiv 是否是一个对象。回想起来,上面的屏幕截图可能不起作用,因为 Product.id 很可能是一个数字,而 thisDiv 实际上是一个对象。但尽管出现了这个错误,console.log() 和 typeOf() 仍然是让我自己脚踏实地并找出下一步的好工具。

错误#3:忘记某些东西可能并不存在
有时,代码可能会崩溃,不是因为您试图更改与您想象的不同的内容,而是因为您试图更改不存在的内容。在为我的项目开发初始方法时,一旦我确定 thisDiv 是一个对象,我就很困惑为什么 thisDiv.id 未被识别,因为该语法是根据 W3schools 获取对象值的有效方法( https://www.w3schools.com/js/js_objects.asp)。我决定将第 14 行更改为“console.log(Object.keys(thisDiv))”,这样我就可以得到正确的方法来获取 thisDiv 的 id,这样我就可以更正从第 15 行开始的 if 语句并比较这个Div的id键到product.id。

图片描述

由于该更改,我收到以下错误:

未捕获(承诺中)类型错误:无法将未定义或 null 转换为对象
在 Function.keys ()
在index.js:14:32
在 Array.forEach ()
在 displayProdName (index.js:11:10)
在index.js:6:21
在我的 Python 工作中,我发现有时,如果 for 循环中的第一个元素不存在或不具有执行 for 循环语句所需的特征,代码将中断并且不会迭代将会发生 for 循环。我认为这个项目的 Javascript for 循环中可能会发生类似的问题,因为对于 i=0,第 12 行中 for 循环的第一次迭代,document.getElementById(0) 不存在,所以 thisDiv 不存在t 存在于 i 的第一次迭代中。因此,console.log(Object.keys(thisDiv)) 不起作用,因为 thisDiv 不是一个对象,所以它没有任何键。因此,记住有时代码的某些方面可能不存在可以在编码时节省大量时间。

这三个课程是我在开始 Javascript 之旅时学到的众多课程之一。希望阅读本文对您有所帮助!

以上就是相位记录的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2664077.html

(0)
上一篇 2025年3月7日 11:33:59
下一篇 2025年3月3日 05:41:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • typescript和python区别

    TypeScript 与 Python 的主要区别在于:1. TypeScript 采用强类型系统,提供类型检查和类型推断,而 Python 使用动态类型系统,只在运行时进行类型检查;2. TypeScript 是编译型语言,Python …

    2025年3月7日
    200
  • python和typescript的区别

    Python 和 TypeScript 的主要区别在于:Python 是动态类型语言,而 TypeScript 是静态类型语言。Python 是解释型语言,而 TypeScript 是编译型语言。Python 具有弱类型系统,而 TypeS…

    2025年3月7日
    200
  • MaweJS:花盆编辑器

    嗨! 即将宣布一个针对作家的编辑器项目。它是我 15 年写作和编码编辑器的一代之一。 https://github.com/mkoskim/mawejs 正在为您的故事寻找编辑吗? Notepad、Word 和 Googledocs 太少,…

    2025年3月7日
    200
  • JSON 简化说明

    JSON(JavaScript 对象表示法) JSON 是一种轻量级的数据交换格式,易于人类读写,易于机器解析和生成。它主要用于在服务器和 Web 应用程序之间以文本形式传输数据。 JSON 与语言无关,尽管它基于 JavaScript 编…

    2025年3月7日
    200
  • 网站代码块高亮神器:你是否在用 highlight.js?

    揭秘代码展示利器:代码块高亮插件 问题: 如网站https://geek-docs.com /php/php_function_reference/1010102_php_… 所示,其代码块展示效果十分清晰易读,请问网站使用的代…

    2025年3月7日
    200
  • 如何学习DSA(数据结构与算法)? – 完整指南

    学习数据结构和算法(DSA)对于任何想要成为熟练软件开发人员或旨在破解顶级科技公司编码面试的人来说都是必不可少的一步。 DSA 为高效解决复杂问题奠定了基础,对于开发优化和可扩展的应用程序至关重要。在本指南中,我们将探讨掌握 DSA 所需了…

    2025年3月7日
    200
  • 动态语言中静态类型的讽刺

    c++kquote>您也可以在 medium 上阅读这篇文章。 当我们看到编程语言如何随着时间的推移而演变时,总是很有趣。 曾几何时,当我开始进入软件开发世界时,python、php 和 javascript 等动态语言因其灵活性和适…

    2025年3月7日
    200
  • 诺伊达数据科学课程

    这门数据科学课程提供了对数据分析世界的全面实用的介绍,为您在当今最受欢迎的领域之一的成功职业生涯做好准备。该课程专为初学者和具有一定编程经验的人士而设计,涵盖了广泛的基本主题,包括数据整理、统计分析、机器学习和数据可视化。 您将首先学习使用…

    2025年3月7日
    200
  • 掌握 JavaScript 中的循环:综合指南

    循环是编程的基础:使我们能够用最少的代码执行重复性任务。无论您是刚刚入门的初学者,还是希望精炼知识的经验丰富的开发人员,理解循环都将大大增强您编写高效、干净且有趣的代码的能力。 在本指南中,我们将深入研究不同类型的循环、它们在流行编程语言中…

    2025年3月7日
    200
  • Claude AI now runs JavaScript, Python beats JavaScript on GitHub, new Nodejs versions and more

    欢迎来到新一期的“JavaScript 本周”! 今天,我们将介绍 JavaScript 在编程领域的地位转变、Claude AI 和 Node.js 的突破性更新,以及备受争议的 JS0/JSSugar 提案,以及您不容错过的令人兴奋的新…

    2025年3月7日
    200

发表回复

登录后才能评论