LocalStorage存储JSON对象的问题

一.localStorage 是没有时间限制的数据存储

1.保存数据语法:localStorage.setItem("key", "value");

1.1方式:

// 自身方法    localStorage.setItem("name","bonly");

// []方法    localStorage["name"]="bonly";

// .方法    localStorage.name="bonly";

注意:如果此时更改了name得值再重新获取,新的值会覆盖原来的值

2.获取保存的数据:localStorage.getItem("key");

2.1方式:

// 自身方法    localStorage.getItem("name");

// []方法    localStorage["name"];

// .方法    localStorage.name;

3.删除数据:localStorage.removeItem("key");

3.1方式:

// 自身方法    localStorage.removeItem("name");

// []方法    delete localStorage["name"];

// 方法    delete localStorage.name

4.获取所有的key

//通过自身的key

for (var i=0;i

     console.log(localStorage.key(i));

}

// 通过for in 循环获取

for (var key in localStorage){ 

 console.log(key);

}

5.获取所有的value

localStorage.valueOf(); //取出所有的值

localStorage.valueOf().key) //取指定值

6.判断是否具有某个key,hasOwnProperty方法

// 如果存在的话返回true,不存在返回false

localStorage.hasOwnProperty("name")

7.注意

1.不是同一域名,不能访问;

2.有长度限制,5M左右,不同浏览器大小会有不同;

3.生命周期是永久的,但是数据实际是存在浏览器的文件夹下,可能卸载浏览器就会删除。

4.浏览器可以设置是否可以访问数据,如果设置不允许会访问失败。

5.兼容IE8以上浏览器

6.只能存储字符串类型,需要转成字符串存储。

8.使用时注意

1.先判断浏览器是否支持localStorage,通过if(!window.localStorage) return;

2.单词太长,不方便书写,可以利用 var storage=window.localStorage;

3.字符串和原始类型需要通过JSON.stringfy转字符串,通过JSON.parse转成对象

4.通过封装方法实现来回转化

9.使用

  var data = ' { "name" : "goatling" } ';

  console.log(JSON.parse(data));  //返回对象

  var dataS = { name: "goatling" };

  console.log(JSON.stringify(dataS)); //返回字符串

10.补充表单序列化

serialize() 序列化为url格式(返回字符串)

 1、    function testJquerySerializeUrl() {

                var serializeUrl = $("#test_form").serialize();

                alert("序列化为url格式为:" + serializeUrl);

              }

serializeArray() 序列化为json格式为 (返回对象)

2、      function testJquerySerializeJson() {

                var serializeJson = $("#test_form").serializeArray();//json对象

                var stringJson = JSON.stringify(serializeJson);

                alert("序列化为json格式为:" + stringJson); // json字符串

                console.log( JSON.stringify(serializeJson) ); //json对象转化为json字符串

                console.log( JSON.parse(stringJson) ); //json字符串转化为json对象

      }

11.与split( )函数的使用

1.变量保存值 var goods = [];

2.取值保存于goods.push(.....)

3.存值 localStorage.setItem("getGoodsName", goods);

4.跨页面取值 var StoreName = localStorage.getItem("getGoodsName");

5.取值处理 var StoreNameArray = StoreName.split(","); 转为数组;

你可能感兴趣的:(LocalStorage存储JSON对象的问题)