【发布时间】:2013-08-30 17:40:51
【问题描述】:
我正在创建这个节点...
function Node ( name, level, parent ) {
this.name = name;
this.level = level;
this.children = [];
this.parent = parent;
this.id = this.createId();
}
当我引用 this.name、this.level、this.parent 和 this.children 时,在我创建的函数中一切正常。当我尝试引用this.id 时,我什么也得不到。
这是我设置this.id的函数...
Node.prototype.createId = function () {
var p = this.parent;
return p.name;
}
我不知道我在Node函数中是否正确调用它。
【问题讨论】:
-
你能说明你是怎么称呼它的吗?
-
你是如何创建节点的?你确定
parent不是undefined? - 如果未定义,引用p.name时会出现脚本错误。 -
另外,为什么要使用
createId()方法呢?为什么不在构造函数中简单地设置this.id = parent.name? -
@Alberto Zaccagni 我正在调用节点函数
-
正如其他人所暗示的那样,问题似乎出在您尝试使用此代码的方式上。这是一个有效的slightly modified example。
标签: javascript function prototype