在使用prototype属性的函数内调用函数

时间:2013-08-30 17:40:52

标签: javascript function prototype

我正在创建这个节点......

function Node ( name, level, parent ) {
  this.name = name;
  this.level = level;
  this.children = [];
  this.parent = parent;
  this.id = this.createId();
}

当我引用this.namethis.levelthis.parentthis.children时,我所做的功能一切都很好。当我尝试引用this.id时,我什么都没得到。

这是我设置this.id ...

的功能
Node.prototype.createId = function () {
  var p = this.parent;
  return p.name;
}

我不知道我是否在Node函数中正确调用它。

1 个答案:

答案 0 :(得分:-2)

this关键字作为this.createId();中的参数传递,如下所示

function Node ( name, level, parent ) {
            this.name = name;
            this.level = level;
            this.children = [];
            this.parent = parent;
            this.id = this.createId(this);
        }

然后在节点中执行此操作

Node.prototype.createId = function (self)
        {
            var p = self.parent;
            return p.name;
        }