zoukankan      html  css  js  c++  java
  • json2.js源码解读记录

    相关内容:json详细用法、js语法、unicode、正则
     
    json特点--最简单、最小巧的经典js库。
     
    json作者:道克拉斯.克劳福德(Douglas Crockford)--js大牛
    出版过一本书《js语言精粹》
     
    “ajax"中,a - 异步,j - js,(a - and), x - xml;
    xml -> json(异步没变、js没变)
    --说明json是一个可以取代xml的东西
     
    json作为"格式",规定了:
    什么样的字符串可以转换为js对象。如何转换?-- JSON.parse()
    一个对象将转换成什么样的字符串。如何转换?--JSON.stringify()
     
    var j = { a:10, b:"hello", c:[true,new String("abc")], d:{ x:1, y:2 } };
    > typeOf(j)
    < "object"
    > JSON.stringify(j)
    < "{"a":10,"b":"hello","c":[true,"abc"],"d":{"x":1,"y":2}}"
    > var a = JSON.stringify(j)
    a
    < "{"a":10,"b":"hello","c":[true,"abc"],"d":{"x":1,"y":2}}"
    > JSON.parse(a)
    < Object {...}
     
    cpu只能识别2进制
    世界上所有的文字,都统一编码,我们叫编码集,就是unicode
    unicode有个编码集表大家有兴趣可以下载下来看看
     
    gb2312 编码集只针对汉语
     
    源码结构:
    一开始是介绍,链接的介绍,接口的介绍
     
    第一行代码:
    if ( typeof JSON !== ' object ' ) {
    JSON = {}; //window.JSON = {}; JSON.parse JSON.stringify
    }
    判断如果JSON不是一个对象就把一个空对象赋给JSON
     
    第二块代码:
    (function () ... ());//自动执行的匿名函数,保证里面的变量是局部变量
    为什么要这么干呢?是因为js没有块级作用域
    var s = JSON.stringify(j,function(key,value){
    if(key === 'a'){
    return value+5;
    }else if (key === 'x'){
    return value + 10
    } else{
    return value;
    }
    },2);
     
  • 相关阅读:
    「分块」学习笔记
    「NOIP 2017」逛公园
    大假期集训模拟赛15
    大假期集训模拟赛14
    大假期集训模拟赛13
    nginx 日志升级
    nginx 日志切割
    nginx 健康检查
    sftp 管理
    Prometheus 学习
  • 原文地址:https://www.cnblogs.com/clear93/p/5630803.html
Copyright © 2011-2022 走看看