ホームページ ウェブフロントエンド jsチュートリアル JavaScript 学習の難しさから解放されます

JavaScript 学習の難しさから解放されます

Dec 15, 2016 am 10:37 AM

どんな知識を学ぶにも困難はありますが、それは JavaScript の学習でも同じです。この記事では、JavaScript を学習する際の困難のいくつかをまとめ、それぞれの困難について説明します。

まず、体系的な知識を使って問題を具体化します。学習するときにこれを実行してください。 同じ問題がさまざまな方法で解決できることを発見してください。たとえば、クリック イベントを要素にバインドするには、HTML 要素で を使用します。イベントのバインディングのこと。

a.onclick=f1; のように関数をイベントに渡してバインドできることがわかると、イベントをバインドする方法は複数あると考えるでしょう。

イベントをバインドするために addachEvent("onclick",f1) メソッドを 3 回使用するのを見ると、イベントをバインドする方法が 3 つ以上あるかもしれないと思うでしょう。そして、1 つのことを行うために 3 つの同じメソッドを使用する理由はありません。それらの間にはいくつかの違いがあるはずです。

では、両者の違いは何でしょうか?イベントをバインドする方法は何通りありますか?メソッドが IE と互換性がないことがわかったとき、それでもなぜだろうと疑問に思うでしょう?私の文法が間違っているのでしょうか?あるいは何が起こっているのか。次々に質問に答えた後、「なんてことだ! JavaScript をいつになったら上手に学べるんだろう?!」と自問する必要があります。

もしかしたら、このままではJSを上手に学ぶのは難しいかもしれません。実際のところ、あなたも彼から学ぶ日はそう遠くないのですが、その方法がわからないだけだということをお伝えしたいのです。どういう理由ですか?理由は、「The Definitive Guide to JavaScript」を読んでいないためです。イベントをバインドする方法は 4 つあり、そのうちの 2 つはすべてのブラウザでサポートされている基本的な方法です。さらに 2 つの高度なメソッドがあり、1 つは W3C 標準メソッド、もう 1 つは IE 標準メソッドです。なぜ IE が高度なメソッドの 1 つと互換性がないのかはわかりますよね。

物事が具体的になったので、イベントをバインドするときにこれら 4 つの方法を考慮するだけでよくなり、それほど多くの疑問を持つ必要はなくなります。また、その出来事を理解したと感じ、次は他の問題も理解できるようになります。もちろん、ジレンマから抜け出したと感じることもあります。

2. JavaScriptの歴史を理解する必要があります

JSの歴史を理解していますか?もちろん、もともと JavaScript と呼ばれていたわけではないし、IE に初めて実装されたわけでもないことは理解しています。はい、それはとても良いことですが、これを知っていてもマスターになれるわけではありません。さらに詳しく理解し、主に機能進化の歴史を理解する必要があります。

上記のように、イベントをバインドするメソッドがこれほどたくさんあるのはなぜでしょうか?要素を取得する方法がこれほどたくさんあるのはなぜですか? document.links[] はより正式ですか?それとも getElementsByTagName('a') の方が正式ですか?どちらの方が互換性が良いのでしょうか?他にいくつの方法がありますか?

一問で頭が痛くなるし、十問で何も始められなくなるし、百問で自分を疑うということを知らなければなりません。千の質問が最終的に「なんてことだ! JavaScript はいつになったら上手に学べるの?」という質問に戻ります。ハハ、それはよくあることだよ。解決策は、それを具体化し、メソッドがいくつあるか、なぜそのメソッドがあるのか​​を理解することです。 JSは宇宙人が残したものではなく人間が作ったものであり、その人の思考にも限界があるので、これらの問いには答えがあるはずですよね?

document.links[] がレガシードキュメントメソッドであり、そのようなレガシーメソッドが合計 5 つあることがわかったとき。アンカー[]、アプレット[]、フォーム[]、イメージ[]、リンク[]の場合、DOM 標準でそれらが保持されていること、およびすべてのブラウザがそれらをサポートしていることもわかっていれば、いくつかの問題は解消されます。これらはいわゆる「レベル 0 DOM」であるため、別の「ジレンマ」から抜け出すことができます。

3. JS の知識構造は縦横に交差しているため、理解するのがより難しくなります。以下「十字」について説明していきます。

一般知識には水平的な性質がある。例えば、JSは大きな視点で見るとコア部分とクライアント部分に分かれます。これは水平です。コア部分は、字句構造、データ型と値、変数、式と演算子、ステートメント、オブジェクトと配列、関数、クラス、モジュールと名前空間、正規表現に分かれています。これも横向きです。

クライアント部分はBOM、DOM、イベント、スタイル、フォームなどに分けることができ、これらも水平的な知識構造です。

テクノロジーが時間を構造として使用することはほとんどありませんが、ブラウザーの開発は動的であるため、異なる時期のブラウザーでは異なる JS 実装レベルがあり、異なる時点でその時点のブラウザー向けに作成された Web ページは、次の理由により変更できません。技術 JS の開発を考慮する必要はなく、技術の発展に応じてすべての Web サイトを書き換えることは不可能であるため、将来のサポートを維持しながら JS を開発およびアップグレードする必要があります。したがって、より良いメソッドがあったとしても、以前のメソッドを保持する必要があります。たとえば、「レベル 0 DOM」は、新しい W3CDOM でもある程度保持されています。の垂直方向。

知識構造を明確に理解すると、問題を解決するときにどの知識を使用すればよいのかがわかるという利点があります。たとえば、ドキュメント内の要素の位置を取得したい場合は、DOM 内の要素の属性を使用する必要があります。マウス ポインターの位置を取得したい場合は、DOM 内の要素の属性を使用します。イベントオブジェクト。要素への参照を取得するには、レガシー DOM または W3C 標準 DOM メソッドを使用できます。これは良いことです。

実際、上記の質問の核心は体系化と具体化であり、これは学習プロセスにおいて非常に重要であると私は考えています。これは本当に私にとって多くの疑問を解決しました。

どのような知識や技術も同じで、システム全体を体系的に学習していれば、遭遇する問題は徐々に解決され、より深く理解できるようになります。 JavaScript 学習の難しい点など その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptは学ぶのが難しいですか? JavaScriptは学ぶのが難しいですか? Apr 03, 2025 am 12:20 AM

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は?
または:
Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は? または: Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Apr 04, 2025 pm 05:36 PM

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptの進化:現在の傾向と将来の見通し JavaScriptの進化:現在の傾向と将来の見通し Apr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

See all articles