JavaScript进修总结(六)数据类型和JSON花样

什么是JSON

JSON:JavaScript 对象示意法(JavaScript Object Notation)。

JSON的情势是用大括号“{}”包围起来的项目列表,每个项目间用逗号(,)分开,而项目就是用冒号(:)分开的属性名和属性值。这是典范的字典示意情势,也再次表明javascript里的对象就是字典构造。不论何等庞杂的对象,都可以用一句JSON代码来建立并赋值。在JSON中,称号/值对 包含字段称号(在双引号中),背面写一个冒号,然后是值

JSON 构造

JSON有两种构造

json简朴说就是javascript中的对象和数组,所以这两种构造就是对象和数组两种构造,经由过程这两种构造可以示意种种庞杂的构造

1、对象:对象在js中示意为“{}”括起来的内容,数据构造为 {key:value,key:value,...}的键值对的构造,在面向对象的言语中,key为对象的属性,value为对应的属性值,所以很轻易明白,取值要领为 对象.key 猎取属性值,这个属性值的范例可以是 数字、字符串、数组、对象几种。

2、数组:数组在js中是中括号“[]”括起来的内容,数据构造为 ["java","javascript","vb",...],取值体式格局和统统言语中一样,运用索引猎取,字段值的范例可以是 数字、字符串、数组、对象几种。
经由对象、数组2种构造就可以组合成庞杂的数据构造了。

JSON 语法划定规矩

JSON 语法是 JavaScript 对象示意法语法的子集。

数据在称号/值对中
数据由逗号分开
花括号保留对象
方括号保留数组

JSON 值可以是:

数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null

​除以上6种外,再无其他,没有像js一样的undefined、NAN

1) 并列的数据之间用逗号(", ")分开。

2) 映照用冒号(": ")示意。

3) 并列数据的鸠合(数组)用方括号("[]")示意。

4) 映照的鸠合(对象)用大括号("{}")示意。

对象是一套无序的名/值对,一个对象以左侧分支最先,以右侧分支完毕
《JavaScript进修总结(六)数据类型和JSON花样》

一个值可以是用双引号括起来的字符串,或许是一个数值,一个true or false ,一个数组或许一个对象
《JavaScript进修总结(六)数据类型和JSON花样》

JSON与对象字面量

在编程言语中,字面量是一种示意值的记法。
JSON划定键-值对中的必须用双引号! 引号。比方:

{"first name" : "Mike"};

JSON字符串中,不能运用函数或许正则表达式字面量

数据范例:

从构造上看,统统的数据(data)终究都可以分解成三种范例:

第一种范例是标量(scalar),也就是一个零丁的字符串(string)或数字(numbers),比方"北京"这个零丁的词。

第二种范例是序列(sequence),也就是若干个相干的数据根据肯定递次并列在一起,又叫做数组(array)或列表(List),比方"北京,上海"。

第三种范例是映照(mapping),也就是一个名/值对(Name/value),即数据有一个称号,另有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比方"都城:北京"。

在编程言语中,只需有了数组(array)和对象(object)就可以贮存统统数据了。

数组和对象的另一个区别是,数组的数据没有”称号”(name),对象的数据有”称号”(name)。

JavaScript中有5种简朴数据范例(也称为基础数据范例):UndefinedNullBooleanNumberString。另有1种庞杂数据范例——ObjectObject本质上是由一组无序的名值对构成的。

对一个值运用typeof操作符能够返回以下某个字符串:

"undefined"——假如这个值未定义;

"boolean"——假如这个值是布尔值;

"string"——假如这个值是字符串;

"number"——假如这个值是数值;

"object"——假如这个值是对象或null;

"function"——假如这个值是函数;

Undefined范例:

    `Undefined`范例只要一个值,在运用var声明变量但未对其加以初始化时,
这个变量的值就是undefined

Null范例

  Null范例是第二个只要一个值的数据范例,这个特别的值是null。从逻辑角度来看,null值示意一个空对象指针,而这也恰是运用typeof操作符检测null时会返回”object”的缘由,比方:

var car = null;
alert(typeof car); // "object"

Number范例

  这类范例用来示意整数和浮点数值,另有一种特别的数值,即NaN(非数值 Not a Number)。这个数值用于示意一个原本要返回数值的操作数未返回数值的状况(如许就不会抛出错误了)。

String范例

  String范例用于示意由零或多个16位Unicode字符构成的字符序列,即字符串。字符串可以由单引号(‘)或双引号(“)示意。

数值、布尔值、对象和字符串值都有toString()要领。但nullundefined值没有这个要领。

  多半状况下,挪用toString()要领没必要通报参数。然则,在挪用数值的toString()要领时,可以通报一个参数:输出数值的基数。

var num = 10;
alert(num.toString());      //"10"
alert(num.toString(2));     //"1010"
alert(num.toString(8));     //"12"
alert(num.toString(10));    //"10"
alert(num.toString(16));    //"a"

在不知道要转换的值是否是nullundefined的状况下,还可以运用转型函数String(),这个函数可以将任何范例的值转换为字符串。String()函数遵照以下转换划定规矩:

  ● 假如值有toString()要领,则挪用该要领(没有参数)并返回响应的效果

  ● 假如值是null,则返回”null

  ● 假如值是undefined,则返回”undefined

Object范例

  对象实在就是一组数据和功用的鸠合。对象可以经由过程实行new操作符后跟要建立的对象范例的称号来建立。而建立Object范例的实例并为其增加属性和(或)要领,就可以建立自定义对象。

var o = new Object();

typeof 操作符

<script type="text/javascript">
    var s = "Nicholas";
    var b =true;
    var c = 21;
    var u;
    var n = null;
    var o = {};
    var obj = new Object;//最好写出new object()情势

    alert(typeof s);//string
    alert(typeof b);//boolean
    alert(typeof c);//number
    alert(typeof u);//undefined
    alert(typeof n);//object
    alert(typeof o);//object
    alert(typeof obj);//object
</script>

Json在线剖析

Json在线剖析:http://json.tongxiehui.net/

我的更多文章:

javascript进修总结(二)数组和对象部份
javascript进修总结(三)BOM和DOM详解
javascript进修总结(四)function函数部份
javascript进修总结(五)原型和原型链

    原文作者:trigkit4
    原文地址: https://segmentfault.com/a/1190000000668072
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞