hjælp til forståelse
HejJeg har fundet nedenstående på nettet. Jeg har forsøgt at få det til at virke men der sker ikke rigtigt noget. Hvor er det galt ?
mvh
Lars Kohsel
<script language="JavaScript">
function Dictionary() {
this.table = new Object();
};
Dictionary.prototype.add = function add(key,value) { // key not a number
this.table[key]=value;
this.table[this.table.length]=key;
};
Dictionary.prototype.get = function get(key) { // key not a number
return this.table[key];
};
Dictionary.prototype.Iterator = function Iterator(table) {
this.table = table;
this.idx = 0;
};
Dictionary.prototype.Iterator.prototype.hasNext = function hasNext() {
return this.idx < this.table.length;
};
Dictionary.prototype.Iterator.prototype.next = function next() {
if (this.idx < this.table.length) {
return this.table[this.idx++];
} else { return null;
}
};
Dictionary.prototype.iterator = function iterator() {
return new this.Iterator(this.table);
};
var myDict = new Dictionary();
myDict.add("foo","this is a value");
myDict.add("test",true);
var iter = myDict.iterator();
while(iter.hasNext()) {
var key = iter.next();
alert("Dictionary says: "+key+" = "+myDict.get(key)+"/"+iter.idx);
}
</script>