DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript學習筆記(六)數據類型和JSON格式
javascript學習筆記(六)數據類型和JSON格式
編輯:關於JavaScript     

什麼是JSON

JSON:JavaScript 對象表示法(JavaScript Object Notation)。

JSON的形式是用大括號“{}”包圍起來的項目列表,每一個項目間用逗號(,)分隔,而項目就是用冒號(:)分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明javascript裡的對象就是字典結構。不管多麼復雜的對象,都可以用一句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

1) 並列的數據之間用逗號(", ")分隔。

2) 映射用冒號(": ")表示。

3) 並列數據的集合(數組)用方括號("[]")表示。

4) 映射的集合(對象)用大括號("{}")表示。
JSON例子

創建沒有任何屬性的對象:

代碼如下:
var obj = {};

創建一個對象並設置屬性和初始值:

代碼如下:
var author = {name : "trigkit4",age : 21 , sex : "male"};

創建一個對象並設置屬性和方法:

代碼如下:
var hello ={content:"how are you?" , say :function(){alert(this.content)} };

創建一個嵌套其他對象和對象數組等:

代碼如下:
var company = {name:"Apple",
               product:"iPPhone",
               chairman:{name:"Tim Cook",age:54},
               employees:[{name:"Jony Ive",age:47},{name:"Lili",age:29}],
 };

對象是一套無序的名/值對,一個對象以左邊分支開始,以右邊分支結束


一個值可以是用雙引號括起來的字符串,或者是一個數值,一個true or false ,一個數組或者一個對象

數據類型:

從結構上看,所有的數據(data)最終都可以分解成三種類型:

第一種類型是標量(scalar),也就是一個單獨的字符串(string)或數字(numbers),比如"北京"這個單獨的詞。

第二種類型是序列(sequence),也就是若干個相關的數據按照一定順序並列在一起,又叫做數組(array)或列表(List),比如"北京,上海"。

第三種類型是映射(mapping),也就是一個名/值對(Name/value),即數據有一個名稱,還有一個與之相對應的值,這又稱作散列(hash)或字典(dictionary),比如"首都:北京"。
在編程語言中,只要有了數組(array)和對象(object)就能夠儲存一切數據了。

數組和對象的另一個區別是,數組的數據沒有"名稱"(name),對象的數據有"名稱"(name)。

JavaScript中有5種簡單數據類型(也稱為基本數據類型):Undefined、Null、Boolean、Number和String。還有1種復雜數據類型——Object,Object本質上是由一組無序的名值對組成的。

對一個值使用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()方法。但null和undefined值沒有這個方法。

  多數情況下,調用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"

在不知道要轉換的值是不是null或undefined的情況下,還可以使用轉型函數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/

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved