• 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);
     
  • 相关阅读:
    安装Redis
    IntelliJ IDEA 2016.1 创建Maven Java Web项目(图解)
    MongoDB入门
    Oracler的锁概念
    Oracle 数据类型
    《锋利的jQuery》随笔(一)
    IList<T>之 First【学习笔记之Linq】
    入驻新园子
    使用nodejs下载风景壁纸
    nodejs爬取博客园的博文
  • 原文地址:https://www.cnblogs.com/clear93/p/5630803.html
Copyright © 2020-2023  润新知