2011-06-13 22 views
5

window.location bir nesnedir. Ancak, location.toString()'u çalıştırdığınızda, nesneyi location.href eşdeğerine dönüştürür.location.toString() konumu neden location.href ile aynı?

Sorumu nasıl? Ve benzer bir davranışa nesneler kurabilir miyim?

+1

Tüm nesneler bir toString() metodu vardır. Prototip uygulamasını değiştirerek ya da somut örnek için uygulamayı değiştirerek geçersiz kılabilirsiniz. Ne yapmak istediğine göre daha hassas olmalısın. – jjrdk

+0

@ jjrdk'in yorumunu tamamlamak için: 'window.location' için' toString() yöntemi, href özelliğini döndürecek şekilde uygulanır. – Tomalak

cevap

5

Nesnenize ne istediğinizi döndüren bir toString yöntemi ekleyebilirsiniz. Bu durumda href

örn

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

obj.href = 'http://stackoverflow.com'; 
obj.toString(); 
İlgili konular