JavaScript是一種基於物件(Object-based)的程式語言,它的本質其實是物件導向。物件導向的語言的特徵是它們都有類別的概念,透過類別可以創建任意多個具有相同屬性和方法的物件。但是在JavaScript中沒有類別的概念,通常稱JavaScript中的對象為原型對象,我們可以直接透過Object來建立對象。例如下面的程式碼:
var person = new Object(); person.name = "张三"; person.age = 20; person.say = function(){ alert(this.name+","+this.age); }
在上面的程式碼中,透過Object簡單的創建了一個person對象,隨後為person對象設定了2個屬性和1個方法。
透過上面的方式創建的對象,帶來的最大問題是由於沒有類別的約束,無法實現對象的重複利用,並且沒有一種約定,在操作是會帶來問題。
Json對象
我們不能夠在網路中傳輸一個JavaScript對象,在網路中只能夠傳輸字串。一個可行的傳輸物件的方法是將物件編寫為XML格式進行傳輸,例如:
<?xml version="1.0" encoding="utf-8"?> <preson> <id>1</id> <name>张三</name> <age>20</age> </person>
但是使用XML格式進行資料傳輸的時候,在傳輸過程中會產生大量的附加標籤字串,這樣的傳輸效率明顯不高。為了解決這些問題,人們研究出了另一種字串物件的格式:Json物件格式。
Json的全名是javascript simple object notation,是一種簡單的資料交換格式。 Json對象就是javascript對象,但是它省略了xml中的標籤,而是透過{}來完成對象的說明。
Json格式透過屬性名稱:屬性值來定義屬性,不同的屬性透過逗號(,)來分隔,最後一個屬性不需要加上逗號。例如下面的程式碼定義了一個Json格式的person物件。
var person = { name : "张三", age:23, say:fuction(){ alert(this.name+","+this.age); } }
要呼叫person物件的屬性和方法和普通的JavaScript物件使用的方法相同,例如:
// 调用person的say方法 person.say();
我們透過Json也可以建立物件數組,創建的方式和JavaScript的陣列一樣。
var ps = [ {name:"Leon",age:22}, {name:"Ada",25} ];
在完成數組的建立之後,我們也可以遍歷數組中的Json物件。
for(var i = 0; i < ps.length; i++){ alert(ps[i].name); }
以上就是JavaScript物件導向-簡單物件的創建和JSON物件的內容,更多相關內容請關注PHP中文網(www.php.cn)!