こんにちは、私のブログへようこそ!私はフルスタック ソフトウェア開発を学ぶために Javascript、HTML、その他のスキルを学んでいます。これまでの知識を棚卸し、その過程で学んだいくつかの教訓を共有する方法として、ここに私の経験の一部を文書化します。他の新しいプログラマーと一緒に。
この投稿では、私が Javascript を学習中に、特に最初の大きなプロジェクトを実行中に犯したいくつかの間違いについて説明します。私のプロジェクトは、メイクアップ製品に関する情報を API から取得し、整理された視覚的に楽しい方法で Web ページに配置します。
間違い #1: 可能な限り自動化していない
プロジェクトが情報を取得する API は大きな配列であるため、最終的にプロジェクトを構造化することに決めた方法は、API から返される配列に対して forEach メソッドを使用し、配列の要素ごとに新しい div HTML 要素を動的に作成することでした。各メイクアップ製品の配列。この構造は、以下のスクリーンショットの 10 行目から見ることができます。
画像の説明
しかし、最初は、API の配列の各要素を、プロジェクトの HTML ファイル内にすでに作成していた div HTML 要素に割り当てようとしました。 API 内の情報に基づいて新しい HTML 要素を作成する代わりに、API 配列要素に一致することがわかっている div を手動で作成する必要があったため、この方法は非常に難しいことがわかりました。これは時間がかかり、エラーが発生しやすい戦略でした。さらに、API 配列要素が変更されていれば、私の最初のアイデアは機能しなくなり、プロジェクトの汎用性が大幅に低下したでしょう。 div HTML 要素を作成する非動的方法は、前述の理由から私のプロジェクトには適切な選択ではありませんでしたが、この方法でプロジェクトを試みたときに学んだ貴重な教訓がまだあると思います。そのため、他の間違いについては後で共有します。この投稿はそのコードから来ます。
間違い #2: アイデンティティを間違えた
何かが機能しない場合は、変更しようとしているコードの側面が、自分が考えているとおりであるかどうかを確認するとよいでしょう。適用できないメソッドを使用しようとしているためにエラーが発生している可能性があります。このタイプのトラブルシューティングに役立つ 2 つのツールは、console.log() と typeOf() です。
プロジェクトの最初のコードが計画どおりに動作しなかったときに、両方を使用しました。 console.log() と for ループを同時に使用する場合、コードの実行が停止する場所を正確に確認できるように、1 つを for ループの内側に置き、別の 1 つを for ループの外側に置くと便利です。
以下のスクリーンショットで、これをどのように行ったかがわかります。
画像の説明
その後、thisDiv がオブジェクトかどうかを確認するために console.log(typeOf(thisDiv)) も実行しました。振り返ってみると、product.id は数値である可能性が最も高いのに対し、thisDiv は確かにオブジェクトであるため、すぐ上のスクリーンショットはおそらく機能しませんでした。しかし、このエラーにもかかわらず、console.log() と typeOf() は自分を落ち着かせ、次のステップを見つけるための優れたツールでした。
間違い #3: 何かを忘れると、存在しない可能性があります
場合によっては、自分が思っているものと異なるものを変更しようとしたからではなく、存在しないものを変更しようとしたためにコードが破損することがあります。プロジェクトの最初のメソッドに取り組んでいる間、thisDiv がオブジェクトであると確信した後、なぜ thisDiv.id が認識されないのか混乱しました。なぜなら、その構文は W3schools に従ってオブジェクト値を取得する有効な方法だからです ( https://www.w3schools.com/js/js_objects.asp)。 thisDiv の ID を取得する適切な方法を取得できるように、14 行目を「console.log(Object.keys(thisDiv))」に変更して、15 行目から始まる if ステートメントを修正して比較できるようにすることにしました。 product.id への thisDiv の ID キー
画像の説明
その変更により次のエラーが発生しました:
Uncaught (in Promise) TypeError: 未定義または 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 が存在しなかったためです。 i の最初の反復では t が存在しません。したがって、console.log(Object.keys(thisDiv)) は機能しませんでした。thisDiv はオブジェクトではなく、キーがなかったためです。したがって、コードの一部が存在しない可能性があることを覚えておくと、コーディングの時間を大幅に節約できます。
これら 3 つの教訓は、JavaScript への取り組みを始めたときに私が学んだ多くの教訓の 1 つです。これを読んでお役に立てば幸いです!
以上がフェーズログの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック









