sessionStorage.setItem
will store a String
, so technically the answer is no. However, you can use a wrapper for sessionStorage
, like:
SessionStorage = {
setItem: function(key, value) {sessionStorage.setItem(key, value)},
getItem: function(key) {
var value = sessionStorage.getItem(key);
if (value.startsWith("function")) {
return eval("(" + value + ")()")
}
return value;
}
}
Use it like this:
SessionStorage.setItem('user', function myfync() {alert("Hi")});
and test it like this:
SessionStorage.getItem('user');
EDIT
I was asked in the comment-section about localStorage
, so let's implement a wrapper for that as well:
LocalStorage = {
setItem: function(key, value) {localStorage.setItem(key, value)},
getItem: function(key) {
var value = localStorage.getItem(key);
if (value.startsWith("function")) {
return eval("(" + value + ")()")
}
return value;
}
}
Use it like this:
LocalStorage.setItem('user', function myfync() {alert("Hi")});
and test it like this:
LocalStorage.getItem('user');