2011-06-13 90 views
5

window.location是一個對象。但是當您執行location.toString()時,它會將對象轉換爲相當於location.href的對象。爲什麼location.toString()報告與location.href相同?

我的問題是怎麼回事?我可以將對象設置爲類似的行爲嗎?

+1

所有對象都有一個toString()方法。您可以通過更改原型實現或具體實例的實現來覆蓋它。你應該更精確地知道你想做什麼。 – jjrdk 2011-06-13 10:14:32

+0

補充@ jjrdk的評論:對於'window.location','toString()'方法以這樣的方式實現,即它返回'href'屬性。 – Tomalak 2011-06-13 10:20:29

回答

5

您可以將toString方法添加到返回所需內容的對象。在這種情況下href

例如:

var obj = { 
    href:'', 
    toString:function(){ 
    return this.href; 
    } 
}; 

obj.href = 'http://stackoverflow.com'; 
obj.toString(); 
相關問題