讲师中心 微信公众号
AI工具推荐 视频效率加速

相位记录

浅伟同学_8129

浅伟同学_8129

发布时间:2024-10-20 08:00:15

|

1097人浏览过

|

来源于dev.to

转载

相位记录

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

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

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

图片描述

macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

下载

但是,最初,我尝试将 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 之旅时学到的众多课程之一。希望阅读本文对您有所帮助!

热门AI工具

更多
花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

549

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1698

2024.03.01

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

798

2025.12.04

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

6427

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2688

2023.08.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4676

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1395

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1838

2023.08.03

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

0

2026.11.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn