javascript - 如何在同一个对象中调用一个对象的函数?

标签 javascript oop

我有以下 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() 时,我从 alert() 得到的是页面的实际代码。也就是说,它返回

function() {
    return parseInt(this.gup('page'));
  }

我期待的是一个数值,而不是任何代码。

最佳答案

那是因为你需要调用page函数:

alert(this.page());

代替

alert(this.page);

关于javascript - 如何在同一个对象中调用一个对象的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661472/

相关文章:

javascript getHeight 不是函数

javascript - 如何在 JavaScript 中定义 OOP 类?

php - 在转向框架之前,您需要具备良好的 OOP 背景吗?

objective-c - Objective-C 中的脆弱基类是什么?

javascript - jQuery:submit() 不适用于历史记录:返回

javascript - 背景网格上每个 block 的不同图像

php - mySQL 缓存 - 内存还是硬盘?

javascript - Jquery 从元素中删除第 n 个类

oop - 替换嵌套 if 语句的设计模式(箭头反模式)

perl - Perl 代码主要是用面向对象设计编写的吗?