为了账号安全,请及时绑定邮箱和手机立即绑定

var newNode = new Node(key); 运行时newNode = undifine;这是为什么?

function BinaryTree (){

var Node = function(key){

this.key   = key;

this.left  = null;

this.right = null;

};


var root = null;


var insertNode = function(node, newNode){

if (newNode.key < node.key) {

if (node.left === null) {

node.left = newNode;

}else {

insertNode(node.left, newNode);

}

} else {

if (node.right === null) {

node.right = newNode;

} else {

insertNode(node.right, newNode);

}

}

}


this.insert = function(key){

var newNode = new Node(key);

if (root === null) {

root = newNode;

} else {

insertNode(root, newNode);

}

}

}



var nodes = [8,3,56,1,9];

var binaryTree = new BinaryTree();

nodes.forEach(function(key){

binaryTree.insert(key);

});

var newNode = new Node(key);  运行时newNode = undifine;这是为什么?



正在回答

4 回答

木有返回值

0 回复 有任何疑惑可以回复我~

Node属于类,必须用new影响实例化

0 回复 有任何疑惑可以回复我~
#1

淡忘_天涯

进行。。
2018-09-14 回复 有任何疑惑可以回复我~

谢谢啊,但我抄视屏里的,我仔细看过几遍这样写他没报错

0 回复 有任何疑惑可以回复我~

Node对象在BinaryTree对象中,你这些写得不到,你想创建node对象,那就在BinaryTree对象的方法a中去new, 然后在外部通过binaryTree去访问自己的方法a,传key值就可以了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

var newNode = new Node(key); 运行时newNode = undifine;这是为什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信