js的JSON新方法和历史记录管理
今天看妙味的视频,一下是一些简单的笔记:
1.JSON的一些新方法:
JSON.stringify();
JSON.parse();
第一个是把js脚本转换成JSON的字符串形式。
而第二个则是吧这种字串形式的JSON解析出来。具体使用可以百度查询。
新方法,自然就牵扯到兼容问题,老师提到,到json.org也就是json官网去下载一个脚本json2.js,在使用时包含进去,新方法可以兼容到IE7.
2.触发历史管理:1.通过跳转页面 2.通过hash(onhashchange事件) 3.pushState
demo如下:
<body>
<input type="button" id="input1" value="获取彩票">
<div id="div1"></div>
<script type="text/javascript">
// 触发历史管理:1.通过跳转页面 2.通过hash(onhashchange事件) 3.pushState
/*window.onload = function(){
var oIpt = document.getElementById('input1');
var oDiv = document.getElementById('div1');
var json = {}; oIpt.onclick = function(){
var num = Math.random();
var arr = randomNum(25,7);
json[num] = arr;
oDiv.innerHTML = arr;
window.location.hash = num;
}; window.onhashchange = function(){
oDiv.innerHTML = json[window.location.hash.substring(1)]; };
function randomNum(iAll,iNow){
var arr = [];
var newArr = [];
for(var i=1;i<iAll;i++){
arr.push(i);
} for(var i=0;i<iNow;i++){
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
}*/
// 使用pushState
window.onload = function(){
var oIpt = document.getElementById('input1');
var oDiv = document.getElementById('div1'); oIpt.onclick = function(){
var arr = randomNum(55,8);
history.pushState(arr,'',arr);
oDiv.innerHTML = arr;
}; window.onpopstate = function(ev){
oDiv.innerHTML = ev.state;
};
function randomNum(iAll,iNow){
var arr = [];
var newArr = [];
for(var i=1;i<iAll;i++){
arr.push(i);
} for(var i=0;i<iNow;i++){
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
};
</script>
</body>
js的JSON新方法和历史记录管理的更多相关文章
- JS操作JSON的方法总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- 原生js格式化json的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS中JSON.stringify()方法,将js对象(json串)转换成字符串,传入服务器
JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.string ...
- js处理json的方法
var json = "{id:"myid", url:"http://www.myurl.com"}"; var js= (new Fun ...
- 原生js格式化json和格式化xml的方法
在工作中一直看各位前辈的博客解决各种问题,对我的帮助很大,非常感谢! 之前一直比较忙没有写博客,终于过年有了点空闲时间,可以把自己积累的东西分享下,笔记中的部分函数不是自己写的,都是工作中一点点积累的 ...
- JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- js读取json数据(php传值给js)
<?php $array =array('fds','fdsa','fdsafasd'); // json_encode($array); ?> <html> <hea ...
- 原生js格式化json工具
json格式化小工具,原生js编写,直接上代码: <!DOCTYPE html> <html lang="en"> <head> <met ...
- js读取json数据
{ "code": 0, "msg": null, "data": { "pageNum": 1, "page ...
随机推荐
- Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem
You play a computer game. In this game, you lead a party of mm heroes, and you have to clear a dunge ...
- bzoj 2049: [Sdoi]Cave 洞穴探测 (LCT)
第一次写lct (这是一道lct裸题 这次没有可爱(划掉)的同学教我,虽然有模板,但是配合网上的讲解还是看不懂QAQ 然后做了几道题之后总算有些感觉辣 于是决定给自己挖个坑,近期写一个lct详解(不过 ...
- bzoj 4196:[NOI2015] 软件包管理器 (树链剖分)
第一次做树剖 找同学要了模板 + 各种借鉴 先用dfs在划分轻重链并编号, install的时候就从查询的节点到根寻找标记的点有多少个,再用深度减去标记的点的个数,并把路径上所有点都标记 uninst ...
- 算法_hdoj_1005
Question: Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6 ...
- DockerFile执行报错解决
错误1: “docker build” requires exactly 1 argument.原因: 之前的命令是这样的: docker build -t nbCentos:1.0.0 , 不仔细看 ...
- Django项目报错: 禁止访问(403),CSRF验证失败,相应中断
如果想要取消表单的CSRF防护,可以在模板上删除{% csrf_token %}, 并且在相应的视图函数中添加装饰器@csrf_exempt, 代码如下: from django.views.deco ...
- python接口自动化测试 - requests库的post请求进行文件上传
前言 如果需要发送文件到服务器,比如上传图片.视频等,就需要发送二进制数据. 一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可 ...
- PHP导出身份证号科学计数法
最近在做PHP的数据导入和导出,到处身份证号的时候,直接变成了科学计算法,找了一个很简单的方法就是这样 $obj= " ".$v['idcard']; 但是这样有空格啊,网上搜了一 ...
- lightoj 1408 概率dp
https://blog.csdn.net/moon_sky1999/article/details/98097470 博主在此,牛逼神犇 #include<bits/stdc++.h> ...
- maven 项目搭建
转自:https://www.cnblogs.com/lzx2509254166/p/7674455.html Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软 ...