JS的三种数据存储方式,JSON转换

cookie

一:使用场景:

 1:记住密码,下次自动登录。
 2:记录用户浏览数据,进行商品(广告)推荐。

二:特点:

 1:cookie保存在浏览器端。
 2:单个cookie保存的数据不能超过4KB。
 3:cookie中的数据是以域名的形式进行区分的。
 4:cookie中的数据是有过期时间的,超过时间数据会被浏览器自动删除。
 5:cookie中的数据会随着请求被自动发送到服务器端。

三:
由于cookie存储机制有很多缺点,HTML5不再使用它,转而使用改良后的WebStorage存储机制。

localStorage

1.什么是localStorage

   localStorage特性主要用来作为本地存储来使用。 它解决了cookie存储空间不足的问题,每条cookie的存储空间为4K,localStorage一般为5M。

2.localStorage的生命周期

 LocalStorage生命周期是永久,这意味着除非用户在显示在浏览器提供的UI上清除localStorage信息, 否则这些信息将永久存在。

3.localStorage的局限

 a.在IE8以上的IE版本才支持localStorage这个属性。
 b.目前所有的浏览器中都会被localStorage的值类型限定为string类型,对我们日常比较常见的JSON对象类型需要一个转换。
 // 4.判断浏览器是否支持localStorage这个属性
        if(window.localStorage){
            alert('浏览器支持localStorage')
        }

// 5.localStorage的写入
        if(!window.localStorage){
            alert('浏览器不支持localStorage')
        }else{
            var storage = window.localStorage;
            // 写入a字段
            storage['a'] = 1;
            // 写入b字段
            storage.b = 2;
            // 写入c字段
            storage.setItem('c',3)

            console.log(typeof storage['a']); //string
            console.log(typeof storage['b']); //string
            console.log(typeof storage['c']); //string
        }

SessionStorage

SessionStorage的生命周期

   SessionStorage生命周期为当前窗口或标签页。
   一旦窗口或标签页被永久关闭了,那么所有通过Session存储的数据也就被清空了。   

json

JSON和JS对象的关系

   JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。

这是一个对象

 		var obj = {a:"hello", b:"world"};
        console.log(typeof(obj)); //object
        

这个一个JSON字符串,本质是一个字符串

 		var json = '{"a":"hello", "b":"world"}';
        console.log(typeof(json)); //string

【JSON和JS对象互转】

  // JSON.parse()方法 实现从JSON字符串转换为JS对象
        var obj = JSON.parse('{"a":"hello", "b":"world"}')
        console.log(typeof(obj)); //object

 // JSON.stringify()方法 实现从JS对象转换为JSON字符串
        var json = JSON.stringify({a:"hello", b:"world"})
        console.log(typeof(json));//object
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值