2011-11-22 25 views
8

私はjavascriptを初めて使っています... "花"というオブジェクトを作成しようとしています。 すべての花には、価格、色、高さなどのプロパティがあります...プロパティを持つオブジェクトを作成する

誰かが私にそれをどのように構築するか考えてもらえますか?

オブジェクトを作成してプロパティを変更しますか?

+0

通常のJavaScriptオブジェクトですか?あなたはそのためにjQueryを必要としません –

答えて

10
flower= { 
price : function() { 
    console.log('Price is 78 $'); 
}, 
color: 'red', 
height : 23 
}; 

flower.price(); 
flower.height ; 
+0

シングルトンオブジェクトに適しています。 – CSharper

1
var flower = {"height" : 18.3, "price":10.0, "color":"blue"} 
9

:-)はあなたにも機能をバインドできるオブジェクトを持っています。あなただけの使用、配列の並べ替えを持っているしたい場合は

function Flower(price, color, height){ 
    this.price = price; 
    this.color= color; 
    this.height= height; 

    this.myfunction = function() 
    { 
     alert(this.color); 
    } 
} 

var fl = new Flower(12, "green", 65); 
fl.color = "new color"); 

alert(fl.color); 
fl.myfunction(); 

:あなたは複数の花のオブジェクトを持たせたい場合は、簡単に新しい花を作成することができ、彼らはすべてのあなたが追加した機能を持つことになりますので、以下では、使用すべきですオブジェクトリテラルですが、作成する各オブジェクトのプロパティと関数を設定する必要があります。

var flower = { price : 12, 
       color : "green", 
       myfunction : function(){ 
        alert(this.price); 
       } 
}; 
flower.price = 20; 
alert(flower.price); 
alert(flower.myfunction()); 
+0

ありがとう、Niels ...非常に役立つ! – BorisD

+0

投稿を更新し、JSON形式の中に関数を持っていることを試しました。そして、 'this'オブジェクトは要素を参照していますので、関数の使用を開始する場合は両方を使用できます。 – Niels

0
var flower = {"propertyName1": propertyValue1, "propertyName2": propertyValue}; 

値取得するには、次のプロパティの値を変更するには

var price = flower.price; 

を:ここで

flower.price = newPrice; 
1

は、プライベート/パブリックセクション(を持つオブジェクトを作成するためのパターンであり、 s)

var MyObj = function() 
{ 
    // private section 
    var privateColor = 'red'; 

    function privateMethod() 
    { 
     console.log('privateMethod. The color is: ', privateColor); 
    } 

    // The public section 
    return 
    { 
     publicColor : 'blue', 
     publicMehtod: function() 
     { 
      // See the diffrent usage to 'this' keyword 
      console.log('publicMehtod. publicColor:', this.publicColor, ', Private color: ', privateColor); 
     }, 
     setPrivateColor: function(newColor) 
     { 
      // No need for this 
      privateColor = newColor; 
     }, 
     debug: function() 
     { 
      this.publicMehtod(); 
     } 
    }; 
} 

var obj1 = new MyObj(); 
obj1.publicMehtod(); 
obj1.setPrivateColor('Yellow'); 
obj1.publicMehtod(); 

var obj2 = new MyObj(); 
obj2.publicMehtod();