Javascript'te her nesnenin bir valueOf() ve toString() yöntemi vardır. Bir dize dönüşümü çağrıldığında toString() yönteminin çağrıldığını düşünürdüm, ama görünüşe göre valueOf() tarafından kondu. ÖrneğinvalueOf() vs. toString() Javascript'te
x karmaşık bir sayı, örneğin, ben valueOf isteyeyim olsaydı
var x = {toString: function() {return "foo"; },
valueOf: function() {return 42; }};
window.console.log ("x="+x);
window.console.log ("x="+x.toString());
.. Bu kadar geriye beni çarptığı
x=42
x=foo
yazdırır kodu() vermek üzere bana onun büyüklüğü, ama ne zaman bir dizeye dönüştürmek istediğimde "a + bi" gibi bir şey isterdim. Ve bir dizgeyi ima eden bağlamlarda toString() 'i açıkça çağırmak istemem.
Bu şekilde mi oluyor?
window.console.log (x); 'veya' alert (x); 'denediniz mi? – Li0liQ
Sırasıyla "Nesne" ve "foo" verir. Eğlenceli şeyler. – brainjam
Aslında, uyarı (x); "foo" ve window.console.log (x) verir; Firebug’a ve Chrome konsolundaki tüm Nesneye "foo {}" verir. – brainjam