小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-02-23 / 18 阅读
0
0

JavaScript localStorage JSON

JavaScript localStorage JSON

详解见JavaScript LocalStorage 完整指南_localstorage.removeitem-CSDN博客

主要用于储存信息类似cookie

localStorage.setItem();(储存方式为字串,值可以为JSON)

setItem 方法用于将值存储到 localStorage。该方法接受两个参数:keyvaluekey 用于以后获取数据。下面是一个使用 setItem 方法存储数据的简单示例:

localStorage.setItem("Data","Hello from localStorage")

如果在浏览器控制台上运行这段代码,它将在 localStorage上存储名为 Data 的键和值 Hello from localStorage。

运行代码之后,如果打开浏览器开发工具的 Applications 选项卡并单击 localStorage,就可以看到 Data 键。

注意:你只能在 localStorage 中存储字符串。(在 Firefox 和 Chrome 上,localStorage 数据存储在 Sqlite 数据库中。)如果希望保留数组或对象,一个简单的方法是使用 JSON.stringify 方法将数据转换为 JSON字符串。

储存在浏览器-开发者工具-应用管理-Local storage

localStorage.getItem("key")

这是读取数据语法

例子:

localStorage.getItem("Data","Hello from localStorage");
console.log(localStorage.getItem("Data"));
//输出结果为Hello from localStorage

localStorage.removeItem("key");

这是删除数据语法

例子

localStorage.setItem("Data","Hello from localStorage");
//删除数据
localStorage.removeltem("Data");
console.log(localStorage.getItem("Data"));
//输出结果为null

什么是 JSON ?

与对象书写方法类似,但名称和值使用引号包围,属性的值不可为函数

例子:


//在JSON数据结构中,方括号([])用于表示数组,而花括号({})用于表示对象或字典。
//数组中的每个元素不需要键名,通过索引直接访问;对象的每个属性则由键值对组成,通过键名来访问。
{
    "sites": [
    { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
     { "name":"菜鸟教程1" , "url":"www.1runoob.com" }, 
    ]
}
//若要访问数组中的第一个网站对象,不能直接将方括号换成花括号,
//因为数组的索引是固定的结构,需要用索引来访问
var firstSite = data.sites[0]; // 获取第一个网站对象
console.log(firstSite.name); // 输出 "菜鸟教程"
//如果要将数组转换为一个包含多个独立对象的对象(这通常没有意义,
//因为会失去数组有序且可通过索引访问的优势),可以这样做(但不推荐
{
    "sites": {
        "0": {
            "name": "菜鸟教程",
            "url": "www.runoob.com"
        },
        "1": {
            "name": "菜鸟教程1",
            "url": "www.runoob.com1"
        }
    }
}
  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解
  • JSON数据结构中,方括号([])用于表示数组,而花括号({})用于表示对象或字典。数组中的每个元素不需要键名,通过索引直接访问;对象的每个属性则由键值对组成,通过键名来访问。

JSON - 转换为 JavaScript 对象

JSON.parse(json);

或者

JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

eval()

eval() 函数会将传入的字符串当做 JavaScript 代码进行执行。

eval() 是全局对象的一个函数属性。

eval() 的参数是一个字符串。如果字符串表示的是表达式,eval() 会对表达式进行求值。如果参数表示一个或多个 JavaScript 语句,那么 eval() 就会执行这些语句。不需要用 eval() 来执行一个算术表达式:因为 JavaScript 可以自动为算术表达式求值。

如果你以字符串的形式构造了算术表达式,那么可以在后面用 eval()对它求值。例如,假设你有一个变量 x,你可以通过将表达式的字符串值(例如 3 * x + 2)赋值给一个变量,然后在你的代码后面的其他地方调用 eval(),来推迟涉及 x 的表达式的求值。

如果 eval() 的参数不是字符串, eval() 会将参数原封不动地返回。

JavaScript 对象转化为JSON

JSON.stringify(object);


评论