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>
时间: 2024-11-03 22:29:48

js的JSON新方法和历史记录管理的相关文章

json新方法

1.parse():把字符串转换成json parse():只能解析JSON形式的字符串变成js,而且字符串中的属性要严格加上引号 eval():可以解析任何字符串变成js var str = 'function show(){alert(123)}';eval(str);show(); var str = '{"name":"hello"}';   //一定是严格的JSON形式var json = JSON.parse(str);alert( json.name

jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录

①在我们做前端js处理的时候我们经常会将一些公用的js方法封装起来,方便别的地方调用,但是我们要做的是需要将请求返回的值传递给调用者,这里我记录了在js中采用ajax方法获取后台数据并返回给调用者的方法,我们平时使用ajax的方法基本为如: <span style="font-family:FangSong_GB2312;font-size:18px;">function AutoGetOpenid(){ var personJson; $.ajax({ url : &qu

JS中JSON.stringify()方法,将js对象转换成字符串,传入服务器

JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.stringify(value[, replacer[, space]]) 参数说明: value: 必需, 要转换的 JavaScript 值(通常为对象或数组). replacer: 可选.用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个

JS操作JSON总结

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包.本文主要是对JS操作JSON的方法做下总结. 在JSON中,有两种结构:对象和数组. 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’ 对”之间使用“,

js读取json数据

{ "code": 0, "msg": null, "data": { "pageNum": 1, "pageSize": 5, "total": 1, "pages": 1, "list": [ { "pid": "0ccddaed355211e79954005056b233c9", "secti

原生js格式化json工具

json格式化小工具,原生js编写,直接上代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>原生js格式化json的方法</title> 6 <script> 7 //格式化代码函数,已经用原生方式写好了不需要改动,直接引用就好 8 var formatJson =

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

JS 解析Json 方法

在JSON中,有两种结构:对象和数组. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式 1. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):"'名称/值' 对"之间运用 ","(逗号)分隔. 名称用引号括起来:值如果是字符串则必须用括号,数值型则不

JS解析Json 数据并跳转到一个新页面,取消A 标签跳转

JS解析Json 数据并跳转到一个新页面,代码如下 $.getJSON("http://api.cn.abb.com/common/api/staff/employee/" + obj.id, function (result) { window.open("https://abb-my.sharepoint.com/_layouts/15/me.aspx?p=" + result.Email, "_blank") }); 取消A 标签跳转 &l