在ES5和ES6中建立商店时,有人问我这个问题。
我一直在尝试解决此问题,但在如何存储节点上遇到了麻烦
实施商店类:
使用set(Node,value),get(Node)和has(Node)方法实现存储类,该方法存储具有给定Node的对应值。
这就是我能够写的(伪代码)
function Store () {
this.store = [];
}
Store.prototype.set = function(node, v) {
// Problem here would be how do I store the node?
}
Store.prototype.get = function(node) {
if(this.has(node)) {
return this.store.find(each => {
// Check to see if it's the same node and return.
})
}
}
Store.prototype.has = function(node) {
return this.store.indexOf(node) > -1;
}
注意:我们可能正在商店中存储HTML DOM。因此,键将是“ DOM”元素而不是字符串。
有人可以给我一个例子吗?我想这将像ES6中的Map一样工作。如果要在ES5中实现此功能,该如何首先存储DOM节点?
泛舟湖上清波郎朗
Smart猫小萌
相关分类