JavaScript Dictionary

function Dictionary() {
	var items = {};
	this.has = function(key) {
		return key in items
	}
	this.set = function(key, value) {
		items[key] = value
	}
	this.remove = function(key) {
		if (this.has(key)) {
			delete items[key];
			return true
		}
		return false
	}
	this.get = function(key) {
		return this.has(key) ? items[key] : undefined
	}
	this.values = function() {
		var values = [];
		for (var key in items) {
			if (this.has(key)) {
				values.push(items[key])
			}
		}
		return values
	}
	this.getItems = function() {
		return items
	}
	this.size = function() {
		return Object.keys(items).length
	}
	this.clear = function() {
		this.items = {}
	}
	this.keys = function() {
		return Object.keys(items)
	}
}
var dictionary = new Dictionary();
dictionary.set('shidengyun', 'shidengyun@yeah.net');
dictionary.set('zhujing', 'zhujing@yeah.net');
console.log(dictionary.has('shidengyun'));
console.log(dictionary.size());
console.log(dictionary.keys());
console.log(dictionary.values());
console.log(dictionary.get('shidengyun'));
dictionary.remove('shidengyun');
console.log(dictionary.keys());
console.log(dictionary.values());
console.log(dictionary.getItems());