Tôi có mã Javascript sauLàm cách nào để gọi các chức năng của một đối tượng trong cùng một đối tượng?
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];
}
}
Nhưng khi tôi gọi add_num.f() những gì tôi nhận được từ alert() là mã thực tế của trang. Tức là, nó trả về
function() {
return parseInt(this.gup('page'));
}
Tôi đã mong đợi một giá trị số và không có mã nào cả.
Bạn không thực sự * gọi * chức năng - chỉ cần chuyển nó làm đối tượng cho 'alert()'. Hãy thử 'alert (this.page());'. –