Tengo el siguiente código Javascript¿Cómo llamo a las funciones de un objeto dentro del mismo objeto?
add_num = {
f: function(html, num) {
alert(this.page);
},
page : function() {
return parseInt(this.gup('page'));
},
gup : function(name) {
name = name.replace(/[\[]/,'\\\[').replace(/[\]]/,'\\\]');
var regex = new RegExp('[\\?&]'+name+'=([^&#]*)');
var results = regex.exec(window.location.href);
if(results == null)
return '';
else
return results[1];
}
}
Pero cuando llamo add_num.f() lo que recibo de alerta() es el código real de la página. Es decir, se vuelve
function() {
return parseInt(this.gup('page'));
}
Me esperaba un valor numérico y no ningún código en absoluto.
En realidad, no está * llamando * a la función, simplemente pasándola como un objeto a 'alert()'. Pruebe 'alert (this.page());'. –