我有以下的Javascript代碼如何調用同一對象內的對象的函數?
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];
}
}
但是當我打電話add_num.f()我從警報得到()是頁面的實際代碼。也就是,它返回
function() {
return parseInt(this.gup('page'));
}
我期待一個數值而不是任何代碼。
你實際上並不*調用函數 - 只是將它作爲一個對象傳遞給'alert()'。嘗試'alert(this.page());'。 – 2010-04-18 07:36:03