Mam następujący kod JavaScriptJak wywołać funkcje obiektu wewnątrz tego samego obiektu?
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];
}
}
Ale gdy zgłoszę add_num.f(), co otrzymuję od alert() jest rzeczywisty kod strony. Oznacza to, że zwraca ona
function() {
return parseInt(this.gup('page'));
}
Spodziewałem się wartości numerycznej, a nie żadnego kodu.
W rzeczywistości nie * wywołujesz * funkcji - po prostu przekazujesz ją jako obiekt do 'alert()'. Spróbuj 'alert (this.page());'. –