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>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。