2011-11-22 49 views
8

Tôi mới dùng javascript ... Tôi đang cố tạo đối tượng- "Hoa". Mọi Bông hoa đều có các thuộc tính: giá, màu sắc, chiều cao ...Tạo đối tượng có thuộc tính,

Ai đó có thể cho tôi biết cách xây dựng nó?

Tạo đối tượng và sau đó thay đổi thuộc tính của anh ấy?

:-)

+0

Đối tượng JavaScript bình thường? Bạn sẽ không cần jQuery cho rằng –

Trả lời

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

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

Phù hợp với các đối tượng đơn lẻ. – CSharper

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

Có một đối tượng, nơi bạn cũng có thể liên kết các chức năng để. Sau đây nên được sử dụng nếu bạn muốn có nhiều đối tượng hoa, bởi vì bạn có thể dễ dàng tạo ra hoa mới và tất cả họ sẽ có các chức năng bạn đã thêm:

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

Nếu bạn muốn có một loại mảng chỉ cần sử dụng một đối tượng theo nghĩa đen, nhưng bạn cần phải thiết lập các thuộc tính và hàm cho mỗi đối tượng mà bạn tạo ra.

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

Cảm ơn, Niels ... Rất hữu ích! – BorisD

+0

Đã cập nhật bài đăng của tôi, đã cố gắng có một hàm bên trong định dạng JSON và đối tượng 'this' này đề cập đến phần tử, vì vậy bạn có thể sử dụng cả hai nếu bạn muốn bắt đầu sử dụng các hàm. – Niels

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

Để lấy các giá trị:

var price = flower.price; 

Để thay đổi giá trị tài sản:

flower.price = newPrice; 
1

Đây là một mô hình để tạo ra đối tượng với phần public/private (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(); 
Các vấn đề liên quan