Я новичок в Javascript, и мой фон - Java. Почему мне нужно изменить var value = val;
на this.value = val;
, поэтому я не получаю «неопределенную» ошибку, когда я использую console.log(node.value);
для распечатки значений, которые я нажал, но не нужно менять var next = {};
на this.next = {};
?Зачем мне нужно менять `var value = val;` на `this.value = val;` поэтому я не получаю ошибку «undefined»?
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);
'var value' должно быть, должно быть' this.value' – Pointy
«Получить неопределенную ошибку» * где * точно? Кроме того, ваш 'var Node = function ..' практически ничего не делает, как есть. Это довольно бессмысленно, если вы не используете 'this.'. – deceze
Я бы предположил, что у вас проблемы, потому что есть конфликт с «Node», который является нативной функцией. –