ホームページ コンピューターのチュートリアル コンピュータ知識 JavaScript はクリックで呼び出せる非表示のようなメソッドをどのように定義していますか

JavaScript はクリックで呼び出せる非表示のようなメソッドをどのように定義していますか

Jan 13, 2024 pm 12:12 PM

JavaScript は、hide によって呼び出された場合と同様のクリックされたメソッドの種類をどのように定義しますか?

プロトタイプメソッド。 。 。 。プロトタイプ###

たとえば、配列 Array の関数を定義します。

Array.prototype.in_array = 関数 ($string) { for (var i = 0; i

{

for (i = 0; i

trueを返す;

}

}

falseを返す;

}

呼び出したら実行できます

var a = 新しい配列('a');

a.in_array('a');

存在するかどうかを確認してください

文字列例内

String.prototype.trim = function()

{

return this.replace(/^\s*|\s*$/g, '');

}

呼び出したら実行できます

var a = ' abcdefg ';

a.trime();

これにより、両側のスペースが削除されます

カスタム関数についても同様で、まず関数を作成し、プロトタイプを使用してメソッドを追加します。

JavaScript でオブジェクトを定義するためのメソッドとは何ですか

JavaScript オブジェクトを定義するいくつかの方法

1. ファクトリ メソッド: まずオブジェクトを作成し、次にそのオブジェクトにメソッドとプロパティを追加します。閉じた後は、オブジェクトの作成に new 演算子を使用しないでください。このアプローチには、ファクトリ関数内でメソッドを定義する場合など、いくつかの欠点がありますが、呼び出されるたびに新しい関数が作成されます。

関数ファクトリー(名前、人、住所、時間){

var tmp=新しいオブジェクト;

tmp.name=名前;

tmp.person=人;

tmp.address=アドレス;

tmp.workTime=function(){

alert("私たちが仕事を始める時間は " 時間です);

}

戻り温度;

}

var 工場 1 = 工場("薬品", 100, "華山路", 10);

var 工場 2 = 工場("TCMdrugs", 100, "虹橋路", 11);

factory1.workTime();

factory2.workTime();//ここでは、factory1とfactory2ではメソッドが異なります

この問題は次の方法で改善できますが、カプセル化が不十分です

関数ファクトリー(名前、人、住所、時間){

var tmp=新しいオブジェクト;

tmp.name=名前;

tmp.person=人;

tmp.address=アドレス;

tmp.workTime=workTime();

戻り温度;

}

関数workTime(){

alert("仕事を始める時間は" this.time);

}

2. コンストラクター メソッドは、コンストラクター内で this キーワードを使用してオブジェクトを作成することを指し、使用時に new 演算子を介してインスタンス化する必要があります。ただし、このメソッドにはファクトリ メソッドと同じ問題があり、コンストラクターが呼び出されるたびに新しい関数オブジェクトが作成され、関数の作成が繰り返されることになります。

関数構成(名前、人、住所、時間) { // ここにコードロジックを記述します }

this.name=名前;

this.person=人物;

this.address=アドレス;

this.workTime=function(){

alert("仕事を始める時間は" this.time);

};

}

3. プロトタイプメソッド: 属性とメソッドを実装するには、prototype 属性を使用します。instanceof を通じてオブジェクトの型を確認できるため、関数を繰り返し作成する問題が解決されます。ただし、パラメーターを渡してプロパティを初期化することはできないことに注意してください。

関数 Car(){

}

Car.prototype.color = "赤";

Car.prototype.doors = 4;

Car.prototype.mpg = 23;

Car.prototype.showColor = function() {

アラート(この色);

};

var car1 = 新しい Car();

var car2 = 新しい Car();

しかし、次のような状況に遭遇すると、再び問題が発生します

Car.prototype.drivers = ["マイク", "スー"];

car1.drivers.push("マット");

alert(car1.drivers); //出力「マイク、スー、マット」

alert(car2.drivers); // 出力「マイク、スー、マット」

drivers は Array オブジェクトへのポインターであり、Car の両方のインスタンスは同じ配列を参照します。

4. 混合コンストラクター/プロトタイプ メソッド: プロトタイプ メソッドの解決策

関数 Car(sColor、iDoors、iMpg) { this.color = sColor; this.doors = iドア; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["マイク", "スー"];

}

Car.prototype.showColor = function () { // あなたのコード }

アラート(この色);

};

var car1 = 新しい車("赤", 4, 23);

var car2 = 新しい車("青", 3, 25);

car1.drivers.push("マット");

alert(car1.drivers);

alert(car2.drivers);

5. 動的プロトタイプ手法: これは非常に推奨される手法で、以前の手法の問題を回避し、より使いやすいコーディング スタイルを提供します。

関数 Car(sColor、iDoors、iMpg) { this.color = sColor; this.doors = iドア; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["マイク", "スー"];

If (Car.initialized の種類 == "未定義"){

Car.prototype.showColor = function () { // あなたのコード }

アラート(この色);

};

Car.initialized = true;

}

}

var car1 = 新しい車("赤", 4, 23);

var car2 = 新しい車("青", 3, 25);

car1.drivers.push("マット");

alert(car1.drivers);

alert(car2.drivers);

6. 混合ファクトリ メソッド: ファクトリ メソッドに似ていますが、インスタンス化に new キーワードを使用します。工場出荷時の方法と同じ欠点がありますが、お勧めできません。

以上がJavaScript はクリックで呼び出せる非表示のようなメソッドをどのように定義していますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows設定でドライブヘルス警告を修正する方法を発見する Windows設定でドライブヘルス警告を修正する方法を発見する Mar 19, 2025 am 11:10 AM

Windowsの設定でのドライブヘルス警告はどういう意味ですか?ディスク警告を受け取ったときに何をすべきですか?このPHP.CNチュートリアルを読んで、この状況に対処するための段階的な指示を取得してください。

レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) レジストリを編集するにはどうすればよいですか? (警告:注意して使用してください!) Mar 21, 2025 pm 07:46 PM

記事では、誤った編集からWindowsレジストリ、予防策、バックアップ方法、潜在的な問題の編集について説明します。主な問題:システムの不安定性と不適切な変化によるデータ損失のリスク。

Windowsでサービスを管理するにはどうすればよいですか? Windowsでサービスを管理するにはどうすればよいですか? Mar 21, 2025 pm 07:52 PM

記事では、システムの健康のためのWindowsサービスの管理、開始、停止、サービスの再起動、安定性のためのベストプラクティスなどについて説明します。

グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? グループポリシーエディター(gpedit.msc)を使用するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

この記事では、システム設定を管理するためにWindowsでグループポリシーエディター(gpedit.msc)を使用する方法、一般的な構成とトラブルシューティング方法を強調する方法について説明します。 Gpedit.mscはWindows Home Editionsでは利用できないことに注意してください。

Windowsメタデータとインターネットサービスの問題:修正方法は? Windowsメタデータとインターネットサービスの問題:修正方法は? Apr 02, 2025 pm 03:57 PM

「Windowsメタデータとインターネットサービス(WMIS)への接続が確立できなかった」が表示される場合があります。イベントビューアのエラー。 PHP.CNからのこの投稿では、Windowsメタデータとインターネットサービスの問題を削除する方法を紹介します。

ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? ファイルタイプのデフォルトアプリを変更するにはどうすればよいですか? Mar 21, 2025 pm 07:48 PM

記事では、リターンやバルクの変更など、ウィンドウ上のファイルタイプのデフォルトアプリの変更について説明します。主な問題:組み込みのバルク変更オプションはありません。

Steam Cloudエラーを修正する方法は?これらの方法を試してください Steam Cloudエラーを修正する方法は?これらの方法を試してください Apr 04, 2025 am 01:51 AM

Steam Cloudエラーは、多くの理由によって引き起こされる可能性があります。ゲームをスムーズにプレイするには、ゲームを開始する前にこのエラーを削除するためにいくつかの対策を講じる必要があります。 PHP.CNソフトウェアは、この投稿でより有用な情報と同様に、いくつかの最良の方法を紹介します。

KB5035942の更新問題を解決する方法 - クラッシュシステム KB5035942の更新問題を解決する方法 - クラッシュシステム Apr 02, 2025 pm 04:16 PM

KB5035942更新問題 - クラッシュシステムは一般にユーザーに発生します。 Imburitedの人々は、クラッシュするシステム、インストール、健全な問題など、一種のトラブルから抜け出す方法を見つけることを望んでいます。これらの状況をターゲットにして、この投稿はphp.cn wilが発行しました

See all articles