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

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 サイトの他の関連記事を参照してください。

声明
この記事はExcel办公网で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
修正:Windowsアップデートが自動的にAMDを交換した可能性があります-Minitool修正:Windowsアップデートが自動的にAMDを交換した可能性があります-MinitoolApr 18, 2025 am 12:51 AM

PCがAMDチップセットで実行されている場合、「Windows UpdateがAMDを自動的に交換した」エラーメッセージを使用すると受信する場合があります。心配しないで! PHP.CNからのこの投稿は、あなたにいくつかのソリューションを提供します。

Microsoft Sway vs PowerPoint-どちらを選ぶべきですか?Microsoft Sway vs PowerPoint-どちらを選ぶべきですか?Apr 18, 2025 am 12:50 AM

Microsoft Swayとは何ですか?PowerPointとは何ですか?これら2つは、人々の働きや勉強を促進するための異なるプレゼンテーションツールです。したがって、それらの違いは何ですか、どのようにそれらを選択するか。 PHP.CNのWebサイトにあるこの投稿では、一部が提供されます

[必見] Win 10オフラインインストーラー:インストール10 22H2オフライン[必見] Win 10オフラインインストーラー:インストール10 22H2オフラインApr 18, 2025 am 12:49 AM

最新のWindows 10をオフラインまたはインターネットなしでインストールするためのWindows 10オフラインインストーラーはありますか?もちろん、はい。 PHP.CNソフトウェアは、この投稿でWindows 10オフラインインストーラーを取得する方法を示しています。

ガイド - 期限切れのWindows Server Auto -Shutdownを停止する方法は?ガイド - 期限切れのWindows Server Auto -Shutdownを停止する方法は?Apr 18, 2025 am 12:48 AM

一部のユーザーは、ライセンスの有効期限が切れた後、Windows Server Auto-Shutdownの問題を満たしていると報告しています。 PHP.CNからのこの投稿では、期限切れのWindows Server Auto-Shutdownを停止する方法を教えてくれます。今、あなたの読書を続けてください。

ファイルはOneDriveで表示できません - それを解決する方法は?ファイルはOneDriveで表示できません - それを解決する方法は?Apr 18, 2025 am 12:47 AM

特定のフォルダーにアクセスするときに、「ファイルを表示できない」エラーに苦労していますか?一部のユーザーは、このトラブルについて不平を言っており、有用な対策を探しています。ファイルに関するこの記事は、php.cn wilからonedriveを表示することはできません

Street Fighter 6システム要件 - 準備ができていますか? - ミニトールStreet Fighter 6システム要件 - 準備ができていますか? - ミニトールApr 18, 2025 am 12:46 AM

Street Fighter 6はCapcomが発行する格闘ゲームで、多くのゲームファンを魅了したStreet Fighterフランチャイズに属しています。一部の人々は、このゲームをPCでプレイしたいと考えています。それを行うには、ストリートファイター6システムexcrememに会う必要があります

ドライブ名ウィンドウ10/11の前にドライブレターを表示する方法-Minitoolドライブ名ウィンドウ10/11の前にドライブレターを表示する方法-MinitoolApr 18, 2025 am 12:45 AM

ドライブ名(ボリュームラベル)は、Windowsでデフォルトでドライブ文字の前に表示されます。ドライブ名の前にドライブレターを表示する方法を知っていますか? PHP.CNからのこの投稿では、ファイルエクスプローラーで最初にドライブレターを表示する方法を説明します。

Windows 10/11の言語バーで電源を切る正確な手順Windows 10/11の言語バーで電源を切る正確な手順Apr 18, 2025 am 12:44 AM

言語バーは、多言語のWindowsユーザーに役立ちます。単にクリックするだけで言語を変更できます。一部の人々は、タスクバーの言語バーでオフにしたいと思っています。あなたはそれをする方法を知っていますか?わからない場合は、このphp.cnの投稿を読んでpを見つけます

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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール