2014-03-12 50 views
0

我只是在學習JavaScript,並想知道是否有人可以指向我或解釋一個自定義數據類型和像對象一樣的普通類之間的很好的描述?JavaScript自定義數據類型和對象之間有什麼區別?

我正在通過下面的示例代碼片段來幫助我。是一種自定義的數據類型和像類型對象這樣的常規類是同一件事嗎?我對這一點感到困惑。

function Person(firstName, lastName) { 
    this.firstName = firstName; 
    this.lastName = lastName; 

    this.getFullName = function() { 
     return this.firstName + " " + this.lastName; 
    }; 

    this.greet = function(person) { 
     alert("Hello " + person.getFullName()); 
    }; 

} 

var person1 = new Person("Bill", "Smith"); 
var person2 = new Person("John", "Doe"); 

person2.greet(person1); 

alert(person1.getFullName()); 

在此先感謝所有人。這是answer

+3

什麼是自定義數據類型?在js中,您可以通過Object.create/constructor函數/文字對象創建對象。你在這裏做了什麼是建設者功能 –

+0

什麼是「普通班」? JavaScript對象沒有「類型」。 – Bergi

+0

這是我從另一種語言的理解,我說的類,指的是類對象。下面的人得到了我的意思,並向我解釋了一切。謝謝 – Rob

回答

0

在JavaScript中,沒有類(但OOP能夠

.Primary數據類型包括Arraysintstringfloat

.Custom數據類型也是數組類型的東西,除了可以在其中定義屬性和函數。

實例

對於1

var example1=1;// Example for the first one. 

對於2

var example2 = { 
    name: 'Hi', 
    introduce: function() { 
     alert("Hi from "+this.name); 
    } 
}; 

對於第一個,可以只使用的值或操作它。

對於第二個,你可以定義你想要的,你也可以調用在該變量中定義的函數。

所以,用example2你可以這樣做:

example2.name='Joe'; 
example2.introduce();// Will alert "Hi from Joe"; 

需要注意的是,當你定義自定義對象,你可以調用它的性質和功能,參照this我在this.name都習慣了。

由於您是javascript的新手,因此您需要僅使用var來創建變量,而不像其他語言的int,string

+0

謝謝,這爲我解決了一些問題。 – Rob

+0

@Rob,upvote本來不錯;) –

相關問題