2011-03-29 113 views
0

toString()toLocaleString()在JavaScript屬性和/或方法中,當定義在ObjectJavaScript中的toString()和toLocaleString()屬性和/或方法?

如果不能兼顧,這是什麼意思:

var person1 : { 
    toString = function(){ 
     return "Hello"; 
    }, 
    toLocaleString : { 
     return "Halo"; 
    } 
}; 
+2

您的語法無效。請發佈有效的Javascript。 – 2011-03-29 09:50:54

+0

看看這個[toString()](http://www.w3schools.com/jsref/jsref_toString_date.asp)[toLocaleString()](http://www.w3schools.com/jsref/jsref_toLocaleString.asp) – 2011-03-29 08:53:06

回答

1

對象可以有方法和屬性。屬性基本上是變量,方法是函數。在Javascript中,情況會更有趣一些,因爲變量可以保存一個函數。但是,如果在對象中有函數作爲屬性,則它們被視爲方法。

所以在你的例子中,toString和toLocaleString都是方法。

如果你有興趣,請參考這個偉大的資源:

Javascript: The Definitive Guide - 8.3. Methods

1

對於所有的JavaScript對象「的toString」和「的toLocaleString」屬性的值預計這將是一個功能調用來檢索對象的字符串表示形式。

沒有與您的示例代碼的幾個問題,請參見下面我更正:

var person1 = { // Assign a new literal object to "person1" 
    toString: function() { // With property "toString" as a function... 
    return "Hello"; 
    }, 
    toLocaleString: function() { // ...and "toLocaleString" as a function. 
    return "Halo"; 
    } 
}; 

要回答什麼,我覺得你的問題的標題暗示,在JavaScript的「方法」實際上並不存在的概念。也就是說,函數只是函數,並且「this」對象在函數調用之前沒有被綁定,所以沒有任何對象擁有作爲方法的函數的概念,它可能恰好具有屬性其價值是方法。