Dies ist möglich,, wenn Sie einen Wrapper/Dekoratorobjekt erstellen , die möglich macht verketten. So funktioniert beispielsweise jQuery. Aber es ist nutzlos in diesem Fall.
Ich machte eine mögliche Implementierung, obwohl.
Aber getItem wird die Kette brechen (so sollte es immer am Ende verwendet werden).
storage().setItem('names', 'Bill').getItem('names'); // or
storage().setItem('names').addItem('Bill').getItem('names'); // or
storage().key('names').value('Bill').set().get('names');
Implementierung
(function(window, undefined) {
var storage = function(key, value) {
return new storage.init(key, value);
};
storage.init = function(key, value) {
this._key = key;
this._value = value;
};
storage.init.prototype = {
key: function(key) {
this._key = key;
return this;
},
value: function(value) {
this._value = value;
return this;
},
get: function(key) {
key = isset(key) || this._key;
return localStorage.getItem(key);
},
set: function(key, value) {
this._key = key = isset(key) || this._key;
this._value = value = isset(value) || this._value;
if (key && value) {
localStorage.setItem(key, value);
}
return this;
},
addItem: function(value) {
this._value = isset(value) || this._value;
if (this._key && value !== undefined) {
localStorage.setItem(this._key, value);
}
return this;
},
// aliases...
getItem: function(key) {
return this.get(key);
},
setItem: function(key, value ) {
return this.set(key, value);
}
};
function isset(value) {
return value !== undefined ? value : false;
}
window.storage = storage;
})(window);
Das ergibt keinen Sinn. Was würde 'getItem' zurückgeben? – SLaks
getItem sollte am Ende der Kette sein, aber abgesehen davon kann es getan werden – galambalazs
Sollte es nicht nur 'alert (localStorage.getItem (' Namen '). AddItem (' Bill ')) '. –