JavaScript localStorage JSON
详解见JavaScript LocalStorage 完整指南_localstorage.removeitem-CSDN博客
主要用于储存信息类似cookie
localStorage.setItem();(储存方式为字串,值可以为JSON)
setItem
方法用于将值存储到 localStorage
。该方法接受两个参数:key
和 value
。key
用于以后获取数据。下面是一个使用 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()
会将参数原封不动地返回。