ファクトリ パターン:
初級開発者は次のようなオブジェクトを定義できます:
var obj = new Object();
obj.showName=function (){alert( this .name);}
ここでの問題は、obj オブジェクトを複数の場所で使用したい場合、プログラム内で同様のコードを何度も記述する必要がある可能性があるため、ファクトリ メソッド
function createObj()
{
var obj = new Object();
obj.name="hero";
obj.showName=function (){alert(this.name);}
return obj;
}
var obj1 = createObj();
var obj2 = createObj();
および別のメソッド コンストラクター メソッド
function obj (name)
{
this.name =name;
this.showName= function (){alert(this.name);}
}
新しいコードの重複を避けるために、さらにコードをカプセル化することもできます。改善点は、デフォルトの固定値を obj に割り当てる代わりに、createObj にいくつかのパラメータを渡すことです。
function createObj(name)
{
var obj = new Object();
obj.showName=function (){alert(this.name);}
return obj;
}
var obj1 = createObj("hero"); j2=createObj("dby");
しかし、createObj 関数を呼び出すたびに、新しい関数 showName が作成されるという問題があります。これは、各オブジェクトが独自のバージョンの showName を持っていることを意味します。この問題を回避するには、
function showName()
{
alert(this.name)
}
function createObj(name)
{
var obj = new Object();
obj.showName=showName;
return obj;
}
これで関数を繰り返し作成できます。
プロトタイプ メソッド:
主にオブジェクトのプロトタイプ属性を使用します。
obj.prototype.name="hero"; obj.prototype.showName=function()
{
alert(this.name);
}
先ほどのファクトリーよりも完璧に見えますが、この関数には問題があります。コンストラクターがなく、属性はプロトタイプによって指定されます。これは、実際のアプリケーションでは、特にセキュリティ上のリスクがある場合には非常に困難です。たとえば、次のような段落を追加します。
obj.prototype.nameArray("hero","dby");
Then
obj1 = new obj(); >obj2 = new obj();
obj1.nameArray.push("lxw" );
2 つのオブジェクトの nameArray が同じ参照を指しているため、この属性は obj2 の nameArray にも表示されます。
したがって、このメソッドは理想的ではありません。
改善の必要があります
コンストラクターを結合し、コンストラクターでプロパティを定義し、プロトタイプ定義メソッドを使用します。
たとえば、
fuction obj(name)
{
this.name = name
this.nameArray = new Array(" hero","dby");
}
obj.prototype.showName = function(){alert(this.name) )}
すべての非関数プロパティはコンストラクターで作成され、関数プロパティはプロトタイプ モードで作成を使用して作成されます。obj1 の nameArray 値を変更しても、obj2 オブジェクトの nameArray 値には影響せず、showName は 1 つだけです
基本的には完璧ですが、興味があれば、自分で変更して遊んでみてください。
ここにシングルトンを追加して遊んでいます。 :
関数 obj (名前)
{
this.name = 名前;
this.nameArray=new Array("hero","dby");
if(typeof obj._initialized) =='未定義')
{
obj.prototype.showName=function(){alert(this.name);}
obj._initialized="true";
}
実際には、これはオブジェクトを構築するときに、属性が定義されているかどうかを最初に判断し、属性が定義されていない場合は、プロトタイプ メソッドを使用してオブジェクトの定義を続けるだけです。定義されている場合、関数は再度定義されません。
これでほぼ完璧になります。
これは私の個人的な理解です。不完全な点がある場合は、QQ に連絡して修正してください。
これは完全な例です:
function Rectangle(name,color,width,heigth){
this.name=name;
this.width= width; ;
this.heigth=heigth;
}
Rectangle.prototype.area=function(){
return this.width*this.heigth
}
Rectangle.prototype. =function(){
document.write(this.name " " this.color " " this.width " " this.heigth "
");
document.write(this.area() ); ;
}
var obj1= new Rectangle("Rectangle","red",15,20);

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









