今日、私がプロジェクトに取り組んでいたとき、私はJavaScriptオブジェクトを作成する必要がある状況に遭遇しました。したがって、JavaScriptオブジェクトの作成について外国人によって書かれた記事をBingし、それを読んでコードを入力しました。この方法はかなり良いと思うので、ここであなたと共有します。
1.関数を使用してオブジェクトを作成します。
コードコピーは次のとおりです。
//オブジェクトを定義します
機能動物(タイプ)
{
this.name = "";
this.type = type;
this.introduction = function(){
「私の名前は: "+this.name+"、私は「+this.type」に属します。
}
}
var Animal = new Animal( "Poultry"); //上記で作成したオブジェクトをインスタンス化します
animal.name = "xiaohong";
Alert(Animal.Introduction()); //その紹介関数を呼び出します(現時点では、ページがポップアップします。私の名前はXiaohongです、私は家禽に属します)。
誰もがこの方法に精通している必要があります。ただし、この方法を使用すると、パフォーマンスの損失を引き起こす可能性があります。ここでは、新しいキーを介してオブジェクトをインスタンス化します。実際、新しいものの鍵は2つのことをすることです。 1.匿名メソッドが定義されています。 2。それを呼びます。これは、次に紹介する方法ほど効率的ではありません。
2。オブジェクトリテラルを使用します。
翻訳が正しいかどうかはわかりません。後で元のアドレスをお伝えします。興味がある場合は、元のテキストを読むことができます。
コードコピーは次のとおりです。
//オブジェクトを定義します
var book =
{
名前:「レッドマンションの夢」、
タイプ:「文学作品」、
getauthor:function()
{
返品:「私はcao xueqinの子供です!」;
}
}
alert(book.getauthor()); //オブジェクトメソッドを呼び出すと、ページが表示されます:私はcao xueqinの子供です。
book.name = "slam dunk"; //オブジェクトプロパティを変更します
アラート(book.name); //この時点で、ページがポップアップします:スラムダンク
コードを見ると、この方法がより効率的である理由を理解する必要があると思います。なぜなら、JavaScriptグローバル変数を定義することと同等だからです。インスタンス化することなく直接使用できます。しかし、それは奇妙に見えます。次に、解決策はこちらです。 3番目の方法を見てみましょう。
3。関数を使用したSingleton:
Singletonモードに翻訳されていない場合があります。最初にコードを見てみましょう:
コードコピーは次のとおりです。
//オブジェクトを定義します
var gender = new Function()
{
this.type = "girls";
this.speake = function()
{
「I Am」+this.typeを返します。
}
}
alert(gender.speaking();)//オブジェクトを使用するときにページが表示されます:私は女の子です。
このコードを見ると、それは私たちの方法に非常に似ていますか?ただし、方法1のように機能します。方法1:オブジェクトを1回使用すると、オブジェクトを1回作成する必要があります。この方法は、オブジェクトを1回作成することで永続的に使用できます。したがって、この方法は、デザインパターンのシングルトンパターンに非常に似ています。