検索
ホームページウェブフロントエンドjsチュートリアルJSプログラミングの常識はとても役に立つ_JavaScriptスキル

1. JS の善悪
JS は、コンピューター プログラミング言語であり、スクリプト言語とも呼ばれる動的言語であり、分析的プログラミング言語です。なぜスクリプトを作成するのか?なぜなら、それ自体では実行できない、つまり main 関数やメイン プログラムへの入り口がなく、そのホスト環境、つまり解析環境によって解析されて実行される必要があるからです。なぜ分析型なのか? JS は、ファイルを生成して実行するためのプログラミング、リンク、アセンブリなどの体系的なプロセスを実行しないため、JS2 の形式でロードおよび実行されます。 🎜 > 空、null、未定義、false、0、""、''、NaN はすべて false、その他は true

3. 関数、クラス、オブジェクト、コンストラクターの違いは何ですか? ? 答え: js では、関数、クラス、オブジェクト、コンストラクターに違いはありません。関数はオブジェクト、オブジェクトはクラス、クラスはコンストラクターであると言えます。ただし、一般的には、混乱を避けるために、オブジェクトをそのクラスのインスタンスと呼びます。

コードをコピーします コードは次のとおりです:
function Person(){
}
var person = new Person();
//person は関数、クラス、オブジェクト、コンストラクターとして呼び出すことができます (パラメーターなし)
//person はオブジェクトへの参照と呼ばれます


4. this キーワードを理解すると、JS の 1/5 が理解できます。これは常にメソッド (関数) を呼び出すオブジェクトを指します (必ず覚えてください)。まず第一に、これは何だということを知っておく必要があります。
これは js のオブジェクトです。これは関数ではなくオブジェクトです。このオブジェクトは誰に対する参照であると考えることができます。メソッドを呼び出したオブジェクトへの参照
このオブジェクトはどこに存在しますか? JS コード内 (通常は関数内) に存在します。これを <script> タグに入れると、何が表示されますか? <BR>このキーワードの分析<BR><BR><BR><div class="codetitle"><span>コードをコピー<a style="CURSOR: pointer" data="23656" class="copybut" id="copybut23656" onclick="doCopy('code23656')"><U> コードは次のとおりです: 関数準備完了(){ <div class="codebody" id="code23656">alert(this==window); <BR>} <BR>ready(); <BR><BR> <BR>この時点で何を呼び出すか?本当です、なぜですか? <BR><BR><div class="codetitle"><span>コードをコピーします<a style="CURSOR: pointer" data="1630" class="copybut" id="copybut1630" onclick="doCopy('code1630')"><U> コードは次のとおりです: function Person(){ <div class="codebody" id="code1630">this .name= '張三'; <BR>alert(this==window); <BR>} <BR>新しい人(); <BR><BR> <BR>この時点で何を印刷しますか?間違っています、なぜですか? コードを長くします。var perso= <BR>var person = new Person(); <BR>世界中の誰もが、person が new person によって生成されたオブジェクトを参照していることを知っています。 new Person は JS インスタンス オブジェクトを作成し、プロパティとメソッドをバインドできます。<BR>次のコードを見てください<BR><BR><BR><div class="codetitle"><span>コードをコピーします<a style="CURSOR: pointer" data="41151" class="copybut" id="copybut41151" onclick="doCopy('code41151')"><U> コードは次のとおりです。 fn=function(){ <div class="codebody" id="code41151">} <BR>fn.ready=function(){ <BR>alert(this== fn); <BR><BR> <BR>fn.ready() が呼び出されたときに何が出力されますか?本当です、なぜですか? <BR>非常に奇妙ですが、これは関数と等しくなっています。なぜですか? <BR>5. JS の静的メソッドと属性は、<BR> に役立ちます。 <BR>静的とは、その名前が示すように、動かないメソッドのことです。 JSで?インスタンスを作成する必要はなく、クラス名を通じてメソッドを直接呼び出すことができ、何も変更されません。メソッドが呼び出されます。追加のコードは必要ありません。これは単なる一方的な発言です。いわゆる静的: クラス自体の特性です。<STRONG> JS のクラスはオブジェクトであるのに、なぜプロパティやメソッドを直接バインドできないのですか。もちろん、<BR><BR><BR><div class="codetitle">コードをコピーします<span><a style="CURSOR: pointer" data="22588" class="copybut" id="copybut22588" onclick="doCopy('code22588')"><U> コードは次のとおりです。 fn=function(){ } <div class="codebody" id="code22588">fn.name='張三'; <BR>fn.getName=function(){ <BR>return <BR>} <BR><BR><BR>それは問題ありませんが、なぜ新しいプロセスが必要なのでしょうか? このようにすべてをバインドするだけでは十分ではないでしょうか? <BR><STRONG>6. JS フレームワークにおけるプロトタイプとコンストラクターの影響 <BR>プロトタイプはプロトタイプ、つまりオブジェクトです。 、。 <BR>コンストラクターはコンストラクターと関数です。 <BR>これまでは、オブジェクトがオブジェクトである場合とオブジェクトが関数である場合を明確に区別する必要がありました。また、JS パーサーがそのようなものを解析して実行することも困難です。柔軟なコード。 <BR>プロトタイプは、このオブジェクトのインスタンスを指すクラスの静的属性であると言えます。言い換えれば、プロトタイプはオブジェクトです。プロトタイプが指すオブジェクトと新しいオブジェクトの違いは何ですか?同等のブリッジ関係が確立されますが、同じではありません。関数プロトタイプのプロパティをバインドすると、プロパティと値はプロトタイプ オブジェクトにバインドされますが、実際にはそのオブジェクトにバインドされません。そのオブジェクトのこのプロパティにアクセスする必要がある場合、JS パーサーはまずオブジェクト自体でプロパティを検索し、次にプロトタイプ オブジェクトでプロパティを検索します。 <BR><div class="codetitle"><span><a style="CURSOR: pointer" data="4834" class="copybut" id="copybut4834" onclick="doCopy('code4834')"><U>コードをコピーします コードは次のとおりです:<div class="codebody" id="code4834"> <BR>function Person(){ <BR>} <BR> var person = new Person(); <BR>person.name="張三"; <BR>alert(person.name); delete person. name; <BR>alert(person.name); <BR><BR> <BR>constructor はオブジェクトのコンストラクターを指します。 (コンストラクターとは何ですか? 自分で調べてください。) このことから、これがオブジェクト レベルの属性であることがわかります。つまり、コンストラクター属性を使用するには、オブジェクトが必要です。 プロトタイプはオブジェクトであり、コンストラクター属性を持っているのでしょうか?もちろんconstructorはコンストラクターを指すのでprototype属性はあるのでしょうか?もちろん、類推すると、次の 2 つのコードは正しいです。<BR>constructor.prototype.constructor.prototype.constructor…… <BR>prototype.constructor.prototype.constructor.prototype…… <BR>実際、正しいです。それがどれくらい続くかわかりませんか?興味があれば試してみてください。ちなみに、再帰アルゴリズムを使用するように教えます。 <BR>多くの JS コードでは、オブジェクトがわかっているときにそのコンストラクターを要求するか、コンストラクターがわかっているときにそのオブジェクトを要求します。始める時が来ました。 <BR><BR>7. == と === は最後まで判断します <BR>== と === は似ていません。それらが等しいかどうかを確認します。 <STRONG>何か違いはありますか? == 変数が等しいかどうかを判断します。 <BR>=== は、変数の値が等しいかどうかを判断します。 <BR>など: ====何に使用されますか? ?ご存知のとおり、ここでお伝えしたいのは、JS の変数は == と === <BR> のみが弱く型付けされているということです。 <BR><BR><BR><BR><div class="codetitle">コードをコピーします<span><a style="CURSOR: pointer" data="31537" class="copybut" id="copybut31537" onclick="doCopy('code31537')"><U> コードは次のとおりです。 var a=3; b=” 3"; alert(a==b); <div class="codebody" id="code31537">JS の変数の値は厳密に型指定されます。 <BR>var a =3; <BR>alert(a===b);<BR>どちらも var 型の変数ですが、値が異なり、一方は整数型、もう一方は文字列型です。<BR>var 型と比較すると、var 型は当然、整数型になります。 type は文字列型と比較されます。もちろん、<BR>== はそれらの値が同じかどうかを比較するために使用されます。変数が var 型である限り、計算値の型にはなりません。もちろん、それはナンセンスです。2 番目の変数タイプの変数を宣言できない可能性はありますか? <BR>=== は、値が同じ型であるかどうかを判断するための比較に使用されます。そうでなければ比較の対象になりません。 JS の変数の値は、整数、文字列、数値、ブール値などを含めて厳密に型指定されます。<BR><STRONG>8.typeof とinstanceof は失敗を判断する使命を完了します <BR>typeof は、次の目的で使用されます。基本データ Type<BR>instanceof は、オブジェクトの型が特定の型番号であるかどうかを判断するために使用されます<BR><STRONG>9.5 種類の継承により、オブジェクトの偽装がさらに強力になります。 ii.apply <BR>iii. call <BR>iv.prototype <BR>v.for ループ メソッド <BR> 使用法: JS の継承は <BR><BR>10 の単なるコピーであることを常に覚えておいてください。 . DOM モデルの構造があなたを変える <BR> <STRONG>DOM の考え方は、データをツリー状に構造化する考え方です。 DOM を学習するには、どのノードにも親ノードと 0 個以上の子ノードがあること、およびページはデータを表示する場所にすぎないことを理解する必要があります。 , メモリ内 DOM オブジェクトのデータが保存される場所です。どの DOM オブジェクトも、親ノード オブジェクトを 1 つだけ持つことができます。父と子の関係はいつでも変わる可能性があります。 必須: <BR>オブジェクトの取得: チェック <BR>オブジェクト操作: 追加、変更、削除 <BR>コンテンツ操作: innerHTML、innerText など <BR>イベント操作: マウス、キー <BR>スタイル操作: id、tag、class <BR>属性の操作:attribute <BR><BR> 11. コールバック関数でコード記述を軽減 <BR> <STRONG>コールバック関数とは JS では関数名で識別します。関数。つまり、ある関数に関数名 (関数名ハンドル) を渡すと、その関数が自動的に関数を呼び出して関連する処理を完了します。 <BR>発信者と着信者は分離されており、発信者と着信者を気にする必要はありません。コールバックは、通知メカニズムやイベントに使用できます。 <BR><BR>12. 関数と引数<BR> <STRONG>関数名は関数のハンドル、ポインタ、および関数名です。これは、JS に関数のオーバーロードがないことも意味します。関数のオーバーライドのみ。関数名は関数を一意に識別します。 JS の関数呼び出しでは、関数名の後に括弧 () を追加する必要があります。<BR>関数呼び出しのパラメーターは、どのような状況であっても保存されます。関数本体の引数オブ​​ジェクトはオブジェクトであり、パラメータは配列の形式で格納されますので、直接使用できます。 <BR><BR>13. クロージャ (匿名関数) は開発のショートカットを開きます <BR> <STRONG> クロージャは、関数の外で呼び出される関数内のパラメータです。これらは一般に匿名関数とも呼ばれますが、それらは異なります。 。 クロージャの価値は、型システムの場合、クロージャが関数オブジェクトまたは匿名関数として使用できることです。これは、データを表すだけでなくコードも表すことを意味します。クロージャをサポートするほとんどの言語は、関数を第 1 レベルのオブジェクトとして使用します。つまり、これらの関数は変数に格納したり、パラメータとして他の関数に渡すことができ、最も重要なことに、関数によって動的に作成して返すことができます。関数 変数名の競合を減らし、権限スコープを持たない JS に権限スコープを提供します。インターフェイスを提供する必要があるが、インターフェイス オブジェクトをグローバル変数にしたくない場合は、匿名関数を使用する必要があります。 <BR>(function(){ <BR>ローカル コードは、次の場合を除き、外部からアクセスできません。入り口を提供します <BR> })();</script>
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScript:Web言語の汎用性の調査JavaScript:Web言語の汎用性の調査Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

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

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

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

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

pythonまたはjavascriptの方がいいですか?pythonまたはjavascriptの方がいいですか?Apr 06, 2025 am 12:14 AM

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptをインストールするにはどうすればよいですか?JavaScriptをインストールするにはどうすればよいですか?Apr 05, 2025 am 12:16 AM

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

クォーツでタスクが開始される前に通知を送信する方法は?クォーツでタスクが開始される前に通知を送信する方法は?Apr 04, 2025 pm 09:24 PM

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター