JS复习:第二十章

一、JSON

1.JSON的语法可以表示以下三种类型的值:

  (1)简单值:字符串、数值、布尔值和null。如:5,“Hello,World!”

  (2)对象:javascript中对象字面量:

        var person = {

          name : "Nicholas",

          age : 29

        };

        JSON表示上述对象的方式如下:

        {

          "name" : "Nicholas",

          "age" : 29  

        }

        也可以像下面这样嵌入对象:

        {

          "name" : "Nicholas",

          "age" : 29,

          "school" : {

            "name" : "Merrimack College",

            "location" : "North Andover,MA" 

          }  

        }

    与javascript不同,JSON对象的属性名必须始终加双引号。

  (3)数组:JSON数组采用的就是javascript中的数组字面量形式。

      例如,下面是javascript中的数组字面量:

      var values = [25,"hi",true];

      在JSON中,可以采用同样的语法表示同一个数组:

      [25,"hi",true]

    把数组和对象结合起来,可以构成更复杂的数据集合:

    [

      {

        "title" : "Professional JavaScript",

        "authors" : [

          "Nicholas C. Zakas"

        ],

        edition : 3,

        year : 2011

      },

      {

        "title" : "Professional JavaScript",

        "authors" : [

          "Nicholas c. Zakas"

        ],

        edition : 2.

        year : 2009

      },

    ]

  对象和数组通常是JSON数据结构的最外层形式。

二、序列化选项

  stringify( )和parse( )

  stringify( )接收两个参数:第一个参数可以是一个数组也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩进。

  1.过滤结果:

  如果过滤器参数是数组,那么JSON.stringify( )的结果中将只包含数组中列出的属性。例如:

  var book = {

    [

      {

        "title" : "Professional JavaScript",

        "authors" : [

          "Nicholas C. Zakas"

        ],

        edition : 3,

        year : 2011

      },

    ]

  };

  var jsonText = JSON.stringify( book ,["title" , "edition"] );

  JSON.stringify( )的第二个参数是一个数组,其中包含两个字符串:"title"和"edition"。因此返回的数据就只会包含这两个属性:{"title":"Professional JavaScript","edition:3"}

  2.字符缩进

  JSON.stringify( )的第三个参数用于控制结果中的缩进和空白符。例如,要在每个级别缩进4个空格,可以这样写代码:

  var book={

        "title" : "Professional JavaScript",

        "authors" : [

          "Nicholas C. Zakas"

        ],

        edition : 3,

        year : 2011

      };

  var jsonText = JSON.stringify(book,null,4);

  保存在jsonText中的字符串如下所示:

  {

    "title":"Professional JavaScript",

    "authors":[

      "Nicholas C. Zakas"

    ],

    "edition":3,

    "year":2011

  }

  3.toJSON( )方法

  可以为任意对象添加toJSON( )方法,比如:

  var book={

        "title" : "Professional JavaScript",

        "authors" : [

          "Nicholas C. Zakas"

        ],

        edition : 3,

        year : 2011

        toJSON : function( ){

          return this.title;

        }

      };

  var jsonText = JSON.stringify(book);

时间: 2024-10-25 04:12:04

JS复习:第二十章的相关文章

centos lamp/lnmp阶段复习 第二十五节课

centos  lamp/lnmp阶段复习   第二十五节课 上半节课 下半节课 f

Ext JS学习第二天 我们所熟悉的javascript(一)

此文用来记录学习笔记: •ExtJS是一个强大的javascript框架,如果想真正的掌握ExtJS,那么我们必须要对javascript有一定的认识,所以很有必要静下心来,抱着一本javascript书籍,恶补一番.推荐书籍<javascript高级程序设计>.<javascript设计模式>. •在这里我们学习一下可能你从未接触过的javascript,这些javascript知识是我们要学好ExtJS这个框架非常有必要的.必备的知识.我们需要掌握的内容有: –javascri

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Alpha-Beta剪枝

2014.07.08 22:43 简介: “搜索”与“剪枝”几乎是如影随形的.此处的“搜索”指的是带有回溯算法的深度优先搜索. 在之前的“Minimax策略”中我们给出了一个三连棋的程序,运行后你就知道计算一步棋要花多少时间. 为了计算最优的一步棋,我们可能需要递归9万多次.如果毫无疑问这种阶乘式的穷举过程必须通过剪枝来加速. 本篇介绍一种用于Minimax策略的剪枝思路——α-β剪枝. 剪枝的英语是pruning,所以不要想当然说成trimming. 图示: 在上一篇讲解Minimax策略的博

JavaScript高级程序设计:第二十章

第二十章 一.语法 JSON的语法可以表示以下三种类型的值: (1)简单值 (2)对象 JSON的对象与javascript字面量有一些不同.例如,在javascript中,前面的对象字面量可以写成下面这样: var  object = { “name” : “Nicholas” , “age” : 29 } ; JSON表示上述对象的方式如下: { “name” : “Nicholas” , “age” : 29 } 不同之处:首先,没有声明变量,其次,没有末尾的分号.最后,对象的属性必须加双

第二十章 内存等空间管理类的实现

                   第二十章   内存等空间管理类的实现      空间.时间对我来说,或许永远是一个迷.即使我曾经深入到原子的最深处,即使人类科学家是自欺欺人,即使我了解到的最深层次的部分真理是正确的:那又能怎样?那都是过去式,在那光明与黑暗一体之地.我的灵魂受伤了:我不得不回到电脑这块充满垃圾的地方修心养性. 或许我的论述方法不好,要完全理解本章是有点难度:你要对简单的空间概念需要一定的理解,即使只是论述1D的线性平面空间中的2个基本方法:分配与释放,但也很复杂.要知道LI

Java复习第二天---JavaSE基础

[1]以下关于 JVM 的叙述,哪些项正确? A.JVM 运行于操作系统之上,它依赖于操作系统 B.JVM 运行于操作系统之上,它与操作系统无关 C.JVM 支持 Java 程序运行,它能够直接运行 Java 字节码文件 D.JVM 支持 Java 程序运行,它能够直接运行 Java 源代码文件 扩展名为.java的是源代码文件(文本文件):开发时编写代码的文件 扩展名为.class的是字节码文件(二进制):系统运行时执行的文件 [2]下列选项中正确的表达式是: A.byte b = 128; 

“全栈2019”Java异常第二十章:自定义异常详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第二十章:自定义异常详解 下一章 "全栈2019"Java异常第二十一章:finally不被执行的情况 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学

第二十章

唯与呵,其相去几何?美与恶,其相去何若?人之所畏,亦不可以不畏人.望呵,其未央哉!众人熙熙,若飨于太牢,而春登台.我泊焉未兆,若婴儿未咳.纍(léi)呵,如无所归.众人皆有余,而我独遗.我愚人之心也,沌沌呵.俗人昭昭,我独若昏.俗人察察,我独闷闷.沕呵,其若海.望呵,其若无所止.众人皆有以,我独顽以鄙.我欲独异于人,而贵食母. 第二十章1 人为啥会喜欢八卦新闻? 各位朋友大家好,我们今天接着来聊<道德经>,看看老子带给我们什么样的启发. 看大家后面的留言,我发现好多小朋友坚持在听.我记得一两个

【WPF学习】第二十章 内容控件

原文:[WPF学习]第二十章 内容控件 内容控件(content control)是更特殊的控件类型,它们可包含并显示一块内容.从技术角度看,内容控件时可以包含单个嵌套元素的控件.与布局容器不同的是,内容控件只能包含一个子元素,而布局容器主要愿意可以包含任意多个牵头元素. 正如前面所介绍,所有WPF布局容器都继承自抽象类Panel,该类提供了对包含多个元素的支持.类似地,所有内容控件都继承自抽象类ContentControl.下图显示了ContentControl类的层次结构. 图 Conten

C#高级编程第11版 - 第二十章

导航 C# 全版本特性一览 全书目录 第二十章 Dependency Injection 20.1 依赖注入的概念 439 20.1.1 使用没有依赖注入的服务 440 20.1.2 使用依赖注入 441 20.2 使用.NET Core DI 容器 442 20.3 服务的生命周期 443 20.3.1 使用单例和临时服务 445 20.3.2 使用Scoped 服务 446 20.3.3 使用自定义工厂 448 20.4 使用选项初始化服务 449 20.5 使用配置文件 450 20.6