您好,歡迎來到我的部落格!我正在學習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 之旅時學到的眾多課程之一。希望閱讀本文對您有幫助!
以上是相位記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3漢化版
中文版,非常好用