【发布时间】:2016-07-27 18:19:47
【问题描述】:
您好,我正在尝试在 Javascript 中实现 LinkedList。当我为我的节点分配一个值时,当我使用我的 getter 时它似乎没有存储它。例如:
var Node =function() {
var _data;
var _next ={};
var that = this;
that.getData = function() {
return _data;
};
that.setData = function(data) {
that._data = data;
};
that.getNext = function() {
return _next;
};
that.setNext = function(next) {
that._next = next;
};
return that;
};
不适用于:
var nodeObj = new Node();
nodeObj.setData("hello");
console.log(nodeObj.getData());
【问题讨论】:
-
因为您将值分配给
that._data,但您是从_data读取的。 -
感谢我是 javascript 新手,这仍然让我有些困惑。
-
您要构建什么?当我使用链接列表时,在此列表上执行的操作通常是特定的,我停止尝试实现任何通用 LL,或向节点添加任何逻辑。通常是使用 LL 的代码,这也是在我的实现中管理和修改节点。
-
@Muffin,使用 ES2015 的 getters and setters 进行最佳实践