我有一个我正在创建的节点对象。下面是代码的构造节点对象中的相关位:未捕获类型错误javascript方法
function Node(x,y,traversable){
...
this.traversable = traversable;
...
Node.isTraversable = function(){ return this.traversable};
}
然后,我有一个嵌套循环它创建节点的电网和试图访问某些节点的方法。 “map”是一个字符串数组。每个字符串表示编码地图上的一条线。地图上的每一行都具有相同的长度,并且该行中的每个字符都是“e”或“o”,表示可穿越的空间或障碍物空间。下面是相关代码:
...
var nodes = [];
...
for (var i=0;i<map.length;i++){
var array = [];
nodes.push(array);
for(var j=0;j<map[i].length;j++){
var temp = new Node(i,j,map[i][j]=='o'||map[i][j]=='O' ? false : true);
if(temp.isTraversable()) console.log('check ok');
...
}
}
的错误我得到的回复是:我为什么不能访问,我在构造函数中定义的函数来我
Uncaught TypeError: temp.isTraversable is not a Function
任何人都可以解释一下吗?我是JavaScript新手,特别是面向对象的JavaScript。提前致谢!
使用'this.isTraversable'不节点 – JordanHendrix
正确答案@JordanHendrix – vahanpwns
谢谢大家! – nbk