美文网首页
2019-08-27

2019-08-27

作者: FiringAce | 来源:发表于2019-08-28 04:11 被阅读0次
    1. 新增的let关键字,可以实现代码块级别的变量作用域(区别于之前只能函数内和全局变量),let定义的变量也需要先声明后使用。
      {
      let x = 2;
      }
      // 这里不能使用 x 变量

    2. JSON的语法规则。 -- https://www.runoob.com/json/json-tutorial.html

    数据为 键/值 对。
    数据由逗号分隔。
    大括号保存对象
    方括号保存数组

    1. json 字符串和js对象的转换。
      ---- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
      首先可以声明一个字符串变量,然后使用JSON.parse()的方式,转换成js对象,然后就可以对json中存储的对象和数据进行解析读取。JSON 数据可使用 AJAX 进行传输。
      这种方式常见于前后端的数据交换中。
      实例
      var text = '{ "sites" : [' +
      '{ "name":"Runoob" , "url":"www.runoob.com" },' +
      '{ "name":"Google" , "url":"www.google.com" },' +
      '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

    obj = JSON.parse(text);
    document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;

    访问的时候也可以使用中括号访问:
    var myObj, x;
    myObj = { "name":"runoob", "alexa":10000, "site":null };
    x = myObj["name"];

    使用循环来访问json对象:
    var myObj = { "name":"runoob", "alexa":10000, "site":null };
    for (x in myObj) {
    document.getElementById("demo").innerHTML += x + "
    ";
    }

    1. JSON对象解析异常:
      JSON不能存储Date对象,需要转换成字符串。然后需要时在转换成日期对象。可以在转换成js对象的时候使用parse()函数的第二个参数,对日期类型进行过滤和转换,如下示例:
      ----
      var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}';
      var obj = JSON.parse(text, function (key, value) {
      if (key == "initDate") {
      return new Date(value);
      } else {
      return value;
      }});

    document.getElementById("demo").innerHTML = obj.name + "创建日期:" + obj.initDate;

    JSON 不能存储 Date 对象。
    JSON.stringify() 会将所有日期转换为字符串。
    实例
    var obj = { "name":"Runoob", "initDate":new Date(), "site":"www.runoob.com"};
    var myJSON = JSON.stringify(obj);
    document.getElementById("demo").innerHTML = myJSON;

    JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value。我们可以在执行 JSON.stringify() 函数前将函数转换为字符串来避免以上问题的发生。
    var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
    obj.alexa = obj.alexa.toString();
    var myJSON = JSON.stringify(obj);

    document.getElementById("demo").innerHTML = myJSON;

    相关文章

      网友评论

          本文标题:2019-08-27

          本文链接:https://www.haomeiwen.com/subject/svcuectx.html