我刚刚构建了一个jquery插件来处理一些数据存储。当我尝试从存储中读取时,结果是读取的项目数据。
但当我加上
sessionStorage.setItem('test','some data');
字符串
或删除
sessionStorage.removeItem('test');
型
我总是在console.log
中得到undefined
如何才能摆脱undefined?
我尝试的是
var result = sessionStorage.setItem('test','some data');
型
虽然这会将其打印到var,但它没有。
我的代码:
(function ($) {
$.storage = {
add: function(name,value){
if(typeof value === 'object' )
{
/** convert object to json **/
value = JSON.stringify(value);
}
/** add to storage **/
sessionStorage.setItem(name,value);
},
read: function(name){
/** read from storage **/
var item = sessionStorage.getItem(name);
try {
item = $.parseJSON(item);
}catch(e){}
return item;
},
remove: function(name){
/** delete from storage **/
sessionStorage.removeItem(name);
},
clear: function(){
/** clear storage **/
sessionStorage.clear();
}
}
})(jQuery);
型
2条答案
按热度按时间cczfrluj1#
setItem
和removeItem
不返回任何值。因此您将得到undefined
。还要注意removeItem
只接受一个参数。Reference,这里是上述方法的函数符号
setItem(key:string,data:string):void
这个公共方法通过指定的key存储数据。请注意,如果key已经存储,它将覆盖它。另一件事要考虑的是,如果我们存储一个key,并通过sessionStorage.key(0)获得该key,然后我们存储另一个key/data,最后我们再次存储第一个key,sessionStorage.key(0)将返回第二个key/data存储,而不是第一个。
removeItem(key:string):void
这个公共方法只是从存储中删除一个密钥和相关数据。
pobjuy322#
字符串
不返回任何东西。
型
将值赋给
'test'
,因此右侧没有任何值。您需要的是型