HTML5存储
PHPz
PHPz 2017-04-17 13:15:50
[HTML讨论组]

sessionStorage存储的数据类型具体有哪些 我去搜索了一下,基本都是说字符串类型。我自己也试了一下,sessionStorage能存储字符串类型数据和数组数据。但不能存储对象类型,需要先转化成字符串,才能存放。但我想数组也是对象啊,怎么能存储。有没有哪位大神能详细说说的

var arr = [1,2,3];
window.sessionStorage.setItem('key',arr);
document.body.innerHTML = window.sessionStorage.getItem('key');

这样是能行的

var json = {'aaa': 'aaa','bbb': 'bbb'};
window.sessionStorage.setItem('key',json);
document.body.innerHTML = window.sessionStorage.getItem('key');

这样是不行的,必须先把json转化成string类型

PHPz
PHPz

学习是最好的投资!

全部回复(1)
PHP中文网

一般存储数据的接口只能支持基本类型(数值、字符串等)。在js中,Array可以自动转换成字符串,例如[1, 2, 3]可以转换成"1, 2, 3",注意这转换过来的数据不是json格式的。普通的Object对象就不支持了。

var obj = { a:1, b:2 }
var arr = [1, 2, 3];
Object.prototype.toString = function(){
    return JSON.stringify(this);
}
Array.prototype.toString = function(){
    return JSON.stringify(this);
}
console.log('' + obj);//可以试试注释了上面Object.prototype的修改的结果
console.log('' + arr);//可以试试注释了上面Array.prototype的修改的结果

不过在项目的使用中,还是不要修改Object.prototype的方法,自己转换成字符串就可以了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号