2011-12-05 25 views
2

Javascriptでクラスを作成するにはどうすればよいですか?私はこの顧客を持っていると言いますが、この顧客から別のオブジェクトを作成して名前などを変更したいのですが、どうすればいいですか?どのようにクラスをJavascriptで宣言しますか?

var Customer = { 
     Name : "Frankie", 
     PrintName : function(value) 
     { 
      alert(this.Name); 
     } 
    } 
+0

JavaScriptにはクラスはありませんが、それと同等のものがあります。[Googleを見る](http://www.google.com.au/search?q=javascript+class)でしたか?これが宿題であれば何らかの参考テキストがありますか? – nnnnnn

+0

お気に入りの検索エンジンで「JavaScriptオブジェクトコンストラクタ」を検索します。 –

答えて

1
function Customer(name) { 
    this.Name = name; 
    this.PrintName = function() { 
     alert(this.Name); 
    }; 
} 

var customer1 = new Customer('Jake'); 
var customer2 = new Customer('Mike'); 
customer1.PrintName(); 
customer2.PrintName(); 
0

この言語は伝統的なオブジェクト指向言語と似ていませんが、JavaScriptでオブジェクト指向のスタイルを取得する方法があります。たとえば、次のようなパターンで古典的な継承をエミュレートできます。多くのフレームワークにはこのためのヘルパー機能がありますが、プロトタイプシステムをそのまま使用することもできます。 「javascript oop」のgoogle検索を開始する必要があります。

ここでは、最初のリンク:Introduction to Object-Oriented Javascriptをお伝えします。

0
var Customer = { 
     Name : "Frankie", 
     PrintName : function() { 
      alert(this.Name); 
     } 
    }; 
var AnotherCustomer = jQuery.extend({}, Customer, {Name: "Micha"}); 
Customer.PrintName(); 
AnotherCustomer.PrintName(); 
+0

これは機能しません。顧客に基づいて別のオブジェクトを作成することはなく、単に既存のオブジェクトへの別の参照を取得し、Nameプロパティを変更します。上記の最後に 'Customer.PrintName()'を追加すると、 "Frankie"ではなく "Micha"になります... – nnnnnn

+0

jQueryだけで動作することを確認します。 [example](http://jsfiddle.net/2bXea/)を参照してください。 – noob

0

あなたはそれを使用することは非常に簡単ですTake a look

...ジョンResig氏(jQueryの作者)シンプルなJavascriptの継承を試すことができ、see

関連する問題