json是存储数据的一种格式
Javascript Object Notation(JavaScript对象表示法)json是存储和交换文本信息的语法,类似XML,JSON比XML更小,更快更易解析
对应AJAX应用程序, 更快更易使用
使用json 读取json字符串 处理json字符串
json语法是JavaScript对象表示语法的子集
//写在双引号中
key:value
"name":"zs"
JSON值可以是 :数字(整数或浮点型),字符串,布尔值,数组,对象,null
json文件的文件类型是.json
json文本的MIME类型是application/json
JSON.parse(str) 把json字符串转换为json对象
JSON.stringify(jsonObj) 把对象转换为字符串
<script>
var obj = {
id: 1,
name: 'zs',
msg: {
age: 12,
},
colors: ['pink', 'red'],
}
// 深拷贝的第二种
var o = JSON.parse(JSON.stringify(obj))
o.msg.age = 9
console.log(obj)
</script>
为了满足我们各种各样的需求,会经常性的在本地存储大量的数据,HTML5规范提出了相关的解决方案
存储数据
sessionStorage.setItem(key,value)
读取数据
sessionStorage.getItem(key)
删除数据
sessionStorage.removeItem(key)
清空数据
sessionStorage.clear()
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<input type="text" />
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
<script>
var ipt = document.querySelector('input')
var set = document.querySelector('.set')
var get = document.querySelector('.get')
var remove = document.querySelector('.remove')
var del = document.querySelector('.del')
// 设置
set.addEventListener('click', function () {
// 当我们点击了之后,把表单里面的值存储起来
var val = ipt.value
sessionStorage.setItem('uname', val)
sessionStorage.setItem('pwd', val)
})
// 读取
get.addEventListener('click', function () {
// 点击之后,把表单里面的值获取过来
console.log(sessionStorage.getItem('uname'))
})
// 删除
remove.addEventListener('click', function () {
sessionStorage.removeItem('uname')
})
// 清空
del.addEventListener('click', function () {
// 清空所有的
sessionStorage.clear()
})
</script>
</body>
</html>
存储数据
localStorage.setItem(key,value)
获取数据
localStorage.getItem(key)
删除数据
localStorage.removeItem(key)
清空数据
localStorage.clear()
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<input type="text" />
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
<script>
var ipt = document.querySelector('input')
var set = document.querySelector('.set')
var get = document.querySelector('.get')
var remove = document.querySelector('.remove')
var del = document.querySelector('.del')
// 设置
set.addEventListener('click', function () {
// 当我们点击了之后,把表单里面的值存储起来
var val = ipt.value
localStorage.setItem('uname', val)
localStorage.setItem('pwd', val)
})
// 读取
get.addEventListener('click', function () {
// 点击之后,把表单里面的值获取过来
console.log(localStorage.getItem('uname'))
})
// 删除
remove.addEventListener('click', function () {
localStorage.removeItem('uname')
})
// 清空
del.addEventListener('click', function () {
// 清空所有的
localStorage.clear()
})
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<input type="text" name="" id="username" />
<input type="checkbox" id="remember" /> 记住用户名
<script>
var username = document.querySelector('#username')
var remember = document.querySelector('#remember')
// 判断本地是否存储
if (localStorage.getItem('username')) {
username.value = localStorage.getItem('username')
remember.checked = true
}
// 复选框 的选中状态改变 进行本地存储 或者删除
remember.addEventListener('change', function () {
console.log(123)
if (this.checked) {
localStorage.setItem('username', username.value)
} else {
localStorage.removeItem('username')
}
})
</script>
</body>
</html>