摘要:并列數(shù)據(jù)的集合數(shù)組用方括號(hào)表示。第三種類型是映射,也就是一個(gè)名值對(duì),即數(shù)據(jù)有一個(gè)名稱,還有一個(gè)與之相對(duì)應(yīng)的值,這又稱作散列或字典,比如首都北京。中有種簡(jiǎn)單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。數(shù)值布爾值對(duì)象和字符串值都有方法。
什么是JSON
JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation)。
JSON的形式是用大括號(hào)“{}”包圍起來的項(xiàng)目列表,每一個(gè)項(xiàng)目間用逗號(hào)(,)分隔,而項(xiàng)目就是用冒號(hào)(:)分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明javascript里的對(duì)象就是字典結(jié)構(gòu)。不管多么復(fù)雜的對(duì)象,都可以用一句JSON代碼來創(chuàng)建并賦值。在JSON中,名稱/值對(duì) 包括字段名稱(在雙引號(hào)中),后面寫一個(gè)冒號(hào),然后是值
JSON 結(jié)構(gòu)JSON有兩種結(jié)構(gòu)
json簡(jiǎn)單說就是javascript中的對(duì)象和數(shù)組,所以這兩種結(jié)構(gòu)就是對(duì)象和數(shù)組兩種結(jié)構(gòu),通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)
1、對(duì)象:對(duì)象在js中表示為“{}”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key:value,key:value,...}的鍵值對(duì)的結(jié)構(gòu),在面向?qū)ο蟮恼Z(yǔ)言中,key為對(duì)象的屬性,value為對(duì)應(yīng)的屬性值,所以很容易理解,取值方法為 對(duì)象.key 獲取屬性值,這個(gè)屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對(duì)象幾種。
2、數(shù)組:數(shù)組在js中是中括號(hào)“[]”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java","javascript","vb",...],取值方式和所有語(yǔ)言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對(duì)象幾種。
經(jīng)過對(duì)象、數(shù)組2種結(jié)構(gòu)就可以組合成復(fù)雜的數(shù)據(jù)結(jié)構(gòu)了。
JSON 語(yǔ)法是 JavaScript 對(duì)象表示法語(yǔ)法的子集。
數(shù)據(jù)在名稱/值對(duì)中 數(shù)據(jù)由逗號(hào)分隔 花括號(hào)保存對(duì)象 方括號(hào)保存數(shù)組
JSON 值可以是:
數(shù)字(整數(shù)或浮點(diǎn)數(shù)) 字符串(在雙引號(hào)中) 邏輯值(true 或 false) 數(shù)組(在方括號(hào)中) 對(duì)象(在花括號(hào)中) null
?除以上6種外,再無其他,沒有像js一樣的undefined、NAN
1) 并列的數(shù)據(jù)之間用逗號(hào)(", ")分隔。 2) 映射用冒號(hào)(": ")表示。 3) 并列數(shù)據(jù)的集合(數(shù)組)用方括號(hào)("[]")表示。 4) 映射的集合(對(duì)象)用大括號(hào)("{}")表示。
對(duì)象是一套無序的名/值對(duì),一個(gè)對(duì)象以左邊分支開始,以右邊分支結(jié)束
一個(gè)值可以是用雙引號(hào)括起來的字符串,或者是一個(gè)數(shù)值,一個(gè)true or false ,一個(gè)數(shù)組或者一個(gè)對(duì)象
在編程語(yǔ)言中,字面量是一種表示值的記法。
JSON規(guī)定鍵-值對(duì)中的鍵必須用雙引號(hào)! 引號(hào)。例如:
{"first name" : "Mike"};
在JSON字符串中,不能使用函數(shù)或者正則表達(dá)式字面量
數(shù)據(jù)類型:從結(jié)構(gòu)上看,所有的數(shù)據(jù)(data)最終都可以分解成三種類型:
第一種類型是標(biāo)量(scalar),也就是一個(gè)多帶帶的字符串(string)或數(shù)字(numbers),比如"北京"這個(gè)多帶帶的詞。 第二種類型是序列(sequence),也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組(array)或列表(List),比如"北京,上海"。 第三種類型是映射(mapping),也就是一個(gè)名/值對(duì)(Name/value),即數(shù)據(jù)有一個(gè)名稱,還有一個(gè)與之相對(duì)應(yīng)的值,這又稱作散列(hash)或字典(dictionary),比如"首都:北京"。
在編程語(yǔ)言中,只要有了數(shù)組(array)和對(duì)象(object)就能夠儲(chǔ)存一切數(shù)據(jù)了。
數(shù)組和對(duì)象的另一個(gè)區(qū)別是,數(shù)組的數(shù)據(jù)沒有"名稱"(name),對(duì)象的數(shù)據(jù)有"名稱"(name)。
JavaScript中有5種簡(jiǎn)單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined、Null、Boolean、Number和String。還有1種復(fù)雜數(shù)據(jù)類型——Object,Object本質(zhì)上是由一組無序的名值對(duì)組成的。
對(duì)一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串:
"undefined"——如果這個(gè)值未定義; "boolean"——如果這個(gè)值是布爾值; "string"——如果這個(gè)值是字符串; "number"——如果這個(gè)值是數(shù)值; "object"——如果這個(gè)值是對(duì)象或null; "function"——如果這個(gè)值是函數(shù);Undefined類型:
`Undefined`類型只有一個(gè)值,在使用var聲明變量但未對(duì)其加以初始化時(shí), 這個(gè)變量的值就是undefinedNull類型
Null類型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類型,這個(gè)特殊的值是null。從邏輯角度來看,null值表示一個(gè)空對(duì)象指針,而這也正是使用typeof操作符檢測(cè)null時(shí)會(huì)返回"object"的原因,例如:
var car = null; alert(typeof car); // "object"Number類型
這種類型用來表示整數(shù)和浮點(diǎn)數(shù)值,還有一種特殊的數(shù)值,即NaN(非數(shù)值 Not a Number)。這個(gè)數(shù)值用于表示一個(gè)本來要返回?cái)?shù)值的操作數(shù)未返回?cái)?shù)值的情況(這樣就不會(huì)拋出錯(cuò)誤了)。
String類型String類型用于表示由零或多個(gè)16位Unicode字符組成的字符序列,即字符串。字符串可以由單引號(hào)(")或雙引號(hào)(")表示。
數(shù)值、布爾值、對(duì)象和字符串值都有toString()方法。但null和undefined值沒有這個(gè)方法。
多數(shù)情況下,調(diào)用toString()方法不必傳遞參數(shù)。但是,在調(diào)用數(shù)值的toString()方法時(shí),可以傳遞一個(gè)參數(shù):輸出數(shù)值的基數(shù)。
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"
在不知道要轉(zhuǎn)換的值是不是null或undefined的情況下,還可以使用轉(zhuǎn)型函數(shù)String(),這個(gè)函數(shù)能夠?qū)⑷魏晤愋偷闹缔D(zhuǎn)換為字符串。String()函數(shù)遵循下列轉(zhuǎn)換規(guī)則:
● 如果值有toString()方法,則調(diào)用該方法(沒有參數(shù))并返回相應(yīng)的結(jié)果
● 如果值是null,則返回"null"
● 如果值是undefined,則返回"undefined"
Object類型對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。對(duì)象可以通過執(zhí)行new操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來創(chuàng)建。而創(chuàng)建Object類型的實(shí)例并為其添加屬性和(或)方法,就可以創(chuàng)建自定義對(duì)象。
var o = new Object();typeof 操作符
Json在線解析
Json在線解析:http://json.tongxiehui.net/
javascript學(xué)習(xí)總結(jié)(二)數(shù)組和對(duì)象部分
javascript學(xué)習(xí)總結(jié)(三)BOM和DOM詳解
javascript學(xué)習(xí)總結(jié)(四)function函數(shù)部分
javascript學(xué)習(xí)總結(jié)(五)原型和原型鏈
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/85296.html
摘要:今天同學(xué)去面試,做了兩道面試題全部做錯(cuò)了,發(fā)過來給道典型的面試題前端掘金在界中,開發(fā)人員的需求量一直居高不下。 排序算法 -- JavaScript 標(biāo)準(zhǔn)參考教程(alpha) - 前端 - 掘金來自《JavaScript 標(biāo)準(zhǔn)參考教程(alpha)》,by 阮一峰 目錄 冒泡排序 簡(jiǎn)介 算法實(shí)現(xiàn) 選擇排序 簡(jiǎn)介 算法實(shí)現(xiàn) ... 圖例詳解那道 setTimeout 與循環(huán)閉包的經(jīng)典面...
摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...
摘要:看下面一個(gè)例子優(yōu)點(diǎn)使用構(gòu)造器函數(shù)的好處在于,它可以在創(chuàng)建對(duì)象時(shí)接收一些參數(shù)。按照慣例,構(gòu)造函數(shù)的函數(shù)名應(yīng)始終以一個(gè)大寫字母開頭,以區(qū)分普通函數(shù)。返回該對(duì)象的源代碼。使您有能力向?qū)ο筇砑訉傩院头椒ā? 基本概念 ECMA關(guān)于對(duì)象的定義是:無序?qū)傩缘募希鋵傩钥梢园局怠?duì)象或者函數(shù)。對(duì)象的每個(gè)屬性或方法都有一個(gè)名字,而每個(gè)名字都映射到一個(gè)值。 類 在現(xiàn)實(shí)生活中,相似的對(duì)象之間往往都有...
摘要:前綴規(guī)范每個(gè)局部變量都需要有一個(gè)類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對(duì)象,例如,表示全局變量,例如,是一種區(qū)分大小寫的語(yǔ)言。布爾值與字符串相加將布爾值強(qiáng)制轉(zhuǎn)換為字符串。 基本概念 javascript是一門解釋型的語(yǔ)言,瀏覽器充當(dāng)解釋器。js執(zhí)行時(shí),在同一個(gè)作用域內(nèi)是先解釋再執(zhí)行。解釋的時(shí)候會(huì)編譯function和var這兩個(gè)關(guān)鍵詞定義的變量,編譯完成后從...
摘要:實(shí)現(xiàn)流程創(chuàng)建對(duì)象打開請(qǐng)求地址,初始化數(shù)據(jù)發(fā)送請(qǐng)求數(shù)據(jù)監(jiān)聽回調(diào)函數(shù)狀態(tài)收到服務(wù)器返回的應(yīng)答結(jié)果。請(qǐng)求完成后回調(diào)函數(shù)請(qǐng)求成功或失敗時(shí)均調(diào)用。 Ajax在前端開發(fā)中有著舉足輕重的地位,關(guān)于Ajax的使用和注意事項(xiàng)一直是一個(gè)重要的話題,借此機(jī)會(huì),本文希望對(duì)Ajax做一個(gè)全面的總結(jié),徹底揭開Ajax的神秘面紗。 一.什么是Ajax Ajax(Asynchronous JavaScript and...
閱讀 1452·2023-04-25 19:00
閱讀 4150·2021-11-17 17:00
閱讀 1764·2021-11-11 16:55
閱讀 1523·2021-10-14 09:43
閱讀 3120·2021-09-30 09:58
閱讀 856·2021-09-02 15:11
閱讀 2127·2019-08-30 12:56
閱讀 1405·2019-08-30 11:12