2011-11-22 24 views
8

Sono nuovo di javascript ... Ho provato a creare un oggetto- "Fiore". Ogni fiore ha le sue proprietà: prezzo, colore, altezza ...Creare un oggetto con proprietà,

Qualcuno può darmi un'idea su come costruirlo?

Creare un oggetto e quindi modificare le sue proprietà?

:-)

+0

Un normale oggetto JavaScript? Non avrai bisogno di jQuery per quello –

risposta

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

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

Buono per oggetti singoli. – CSharper

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

avere un oggetto, dove è anche possibile associare funzioni a. Quanto segue deve essere usato se si vuole avere più oggetti di fiori, perché si può facilmente creare nuovi fiori e saranno tutti hanno le funzioni che sono state aggiunte:

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(); 

Se si vuole avere una sorta di matrice basta usare un oggetto letterale, ma è necessario impostare le proprietà e le funzioni per ciascun oggetto che si crea.

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

Grazie, Niels ... Molto utile! – BorisD

+0

Ho aggiornato il mio post, ho provato ad avere una funzione nel formato JSON, e l'oggetto 'this' si riferisce all'elemento, quindi puoi usarlo entrambi se vuoi iniziare ad usare le funzioni. – Niels

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

Per recuperare i valori:

var price = flower.price; 

per modificare i valori di proprietà:

flower.price = newPrice; 
1

Ecco uno schema per creare l'oggetto con la sezione pubblico/privato (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(); 
Problemi correlati