我是新來的Javascript和我的背景是Java。爲什麼我需要改變var value = val;
到this.value = val;
所以當我用console.log(node.value);
打印出來我推i的值沒有得到「未定義」錯誤,但沒有必要改變var next = {};
到this.next = {};
?爲什麼我需要將`var value = val;`更改爲`this.value = val;`所以我沒有收到「未定義」的錯誤?
var LinkedList = function(e) {
var first, last;
var Node =function(val) {
var value = val;
var next = {};
}
this.push = function(val) {
var node = new Node(val);
if (first == null) {
console.log(node.value);
first = last = node;
}
else {
console.log(node.value);
last.next = node;
last = node;
}
}
}
var list = new LinkedList();
list.push(1);
list.push(2);
list.push(3);
'變種value'大概應該是'this.value' – Pointy
「獲取未定義的錯誤」 *,其中*是什麼呢?另外,你的'var Node = function ..'基本上什麼都不做。除非你使用'this.',否則它是毫無意義的。 – deceze
我會想象你有麻煩,因爲與本地函數Node有衝突。 –