ホームページ ウェブフロントエンド jsチュートリアル Function_javascript スキルの OOP 拡張機能

Function_javascript スキルの OOP 拡張機能

May 16, 2016 pm 06:53 PM
function oop

コードをコピーします コードは次のとおりです:

// 以下は OOP で使用されるメソッドです
// これはとても便利です 卑劣です...JS は OOP 言語ではないので...
// しかし、偉大なファンが私たちにこれを行うよう導いてくれます
// これらのメソッドを使用する人々をベルダンディが祝福しますOOP へ...
Function.prototype .inherits = function(base){
//導出関係、プロトタイプは保持される
//単一の導出のみがサポートされます
this.prototype = new Base( );
return this;
}
Function.prototype.create = function(){
//クラスの作成者は new
を使用するのと同じです//JS はサポートしませんコンストラクターで call と apply を使用するので...
/ /Belldandy、この問題の解決方法を教えてくれてありがとう...
var _args = []
for(i=0) ;i
return eval('new this(' _args.join(',') ')'); //eval を使用します...ベルさん、次回はもっと親切にしてください 私のアイデア...
}
Function.prototype.pin = function(pinner,args){
// サービスを登録する、または " pin" service
// EventManager はこれを実行できます
// デフォルトの実装でインターフェイスを実装すると考えることもできます...

// たとえば、pin EventManager は次のようになりますthis: Class.pin(core.WvwntManager)
args = args || [ ];
return this; prototype.method = function(name, f) { //メソッドの追加、効率的
if (!(f instanceof Function)) throw new Error('無効なメソッド バインディング、タイプ ' typeof f ' を取得しました; 期待される関数');
this.prototype[name] = f;
return this
}
Function.prototype.property = function(name, localName, getter, setter) { //プロパティを追加し、ゲッターをカスタマイズできますおよびセッター
if (!name || !nameinstanceof String) throw newEnvironmentException('属性を定義するとき、属性名が定義されていないか、文字列ではありません');
if (!localName || ! localName インスタンスオブ String) localName = '_local_' 名前;
if(関数のゲッターインスタンス) {
this.prototype['_belldandy_get_' 名前] = ゲッター;
}
if(関数のセッターインスタンス){
this.prototype['_belldandy_set_' name] = setter;
}
this.prototype[name] = new Function("value , Force","
if (!value && !force) {
if (!this['" '_belldandy_get_' name "'] || !this['" '_belldandy_get_' name "']instanceof Function)
return this['" localName "'] /* getter が設定されていない場合*/
else
return this['" '_belldandy_get_ ' name "'].call(this);
} else {
if (!this['" '_belldandy_set_ ' name "'] || !this['" '_belldandy_set_' name "'] 関数のインスタンス)
this['" localName "'] = value;
else
this['" '_belldandy_set_' name "'].call(this, value);
return this
} ") //ベルダンディ、許してください、これはクロージャを生成しません
return this
}
Function.prototype.static = function(name,value){ //属性を含む静的機能とメソッド
this[name] = value;
}



には次の効果があります:


コードをコピー
コードは次のとおりです:function foo() { }; foo
.property('a', '_a')
.property('b', '_b', function() { これを返します。 _b '.' })
.method('f', function() { dwn(this.a ()) });
function bar(x,y){this.x = x;this. y = y;};
with(bar){
inherits(foo)
メソッド ('g',function(){dwn(this.a() '-' this.b())
}

var f = new foo();
f.b(2); (f.b());
b = bar.create(1,2);
b.b(5); x',' b.y) >
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

「PHP によるオブジェクト指向プログラミング入門: 概念から実践まで」 「PHP によるオブジェクト指向プログラミング入門: 概念から実践まで」 Feb 25, 2024 pm 09:04 PM

オブジェクト指向プログラミングとは何ですか?オブジェクト指向プログラミング (OOP) は、現実世界のエンティティをクラスに抽象化し、オブジェクトを使用してこれらのエンティティを表すプログラミング パラダイムです。クラスはオブジェクトのプロパティと動作を定義し、オブジェクトはクラスをインスタンス化します。 OOP の主な利点は、コードの理解、保守、再利用が容易になることです。 OOP の基本概念 OOP の主な概念には、クラス、オブジェクト、プロパティ、メソッドが含まれます。クラスはオブジェクトの設計図であり、オブジェクトのプロパティと動作を定義します。オブジェクトはクラスのインスタンスであり、クラスのすべてのプロパティと動作を備えています。プロパティは、データを保存できるオブジェクトの特性です。メソッドは、オブジェクトのデータを操作できるオブジェクトの関数です。 OOP の利点 OOP の主な利点は次のとおりです。 再利用性: OOP はコードをより高度なものにすることができます。

MySQL.procテーブルの役割と機能の詳しい説明 MySQL.procテーブルの役割と機能の詳しい説明 Mar 16, 2024 am 09:03 AM

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

オブジェクト指向プログラミングにおける Golang 関数の応用 オブジェクト指向プログラミングにおける Golang 関数の応用 May 31, 2024 pm 07:36 PM

Go 関数はオブジェクトのメソッドとして利用できます。メソッドは、オブジェクトのフィールドおよびメソッドへのアクセスを提供する、オブジェクトに関連付けられた関数です。 Go では、メソッドは func(receiver_type)identifier(parameters)return_type 構文を使用して定義されます。このアプローチは、カプセル化、再利用、拡張性を提供することにより、オブジェクト指向プログラミングにおいて重要な役割を果たします。

Vue.use関数の使い方と機能 Vue.use関数の使い方と機能 Jul 24, 2023 pm 06:09 PM

Vue の使い方と機能.use Function Vue は、多くの便利な機能を提供する人気のフロントエンド フレームワークです。その 1 つは Vue.use 関数で、これを使用すると Vue アプリケーションでプラグインを使用できるようになります。この記事では、Vue.use 関数の使い方と機能を紹介し、いくつかのコード例を示します。 Vue.use 関数の基本的な使用法は非常に簡単です。Vue がインスタンス化される前に関数を呼び出し、使用するプラグインをパラメータとして渡すだけです。簡単な例を次に示します。 // プラグインの導入と使用

PHPのclearstatcache()関数 PHPのclearstatcache()関数 Sep 07, 2023 am 09:33 AM

clearstatcache() 関数は、ファイル ステータス キャッシュをクリアするために使用されます。 PHP は、次の関数によって返された情報をキャッシュします。 -stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms()より良いパフォーマンスを提供するため。構文 voidclearstatecache() パラメータ NA 戻り値 clearstatcache(

PHP の file_exists() 関数 PHP の file_exists() 関数 Sep 14, 2023 am 08:29 AM

file_exists メソッドは、ファイルまたはディレクトリが存在するかどうかを確認します。チェックするファイルまたはディレクトリのパスを引数として受け取ります。これは、ファイルを処理する前に存在するかどうかを知る必要がある場合に役立ちます。これにより、新しいファイルを作成するときに、この関数を使用してファイルがすでに存在するかどうかを確認できます。構文 file_exists($file_path) パラメータ file_path - 存在をチェックするファイルまたはディレクトリのパスを設定します。必須。 return file_exists() メソッドが戻ります。ファイルまたはディレクトリが存在する場合は TrueFalse を返し、ファイルまたはディレクトリが存在しない場合は TrueFalse を返します。 例として、「candidate.txt」ファイルのチェックを見てみましょう。

See all articles