摘要:一般數(shù)據(jù)類型有以下幾種類型區(qū)分?jǐn)?shù)據(jù)類型,標(biāo)量,也就是一個(gè)多帶帶的字符串或數(shù)字,序列,也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組,映射,也就是一個(gè)名值對(duì)的數(shù)據(jù)類型有以下幾種,,,,,,,支持的格式?jīng)]有和支持類型但不含語(yǔ)法規(guī)則,數(shù)
一般數(shù)據(jù)類型有以下幾種類型(區(qū)分JS數(shù)據(jù)類型):
1,標(biāo)量(scalar),也就是一個(gè)多帶帶的字符串(string)或數(shù)字(number)
2,序列(sequence),也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組
3,映射(mapping),也就是一個(gè)名/值對(duì)(Name/value)
JS的數(shù)據(jù)類型有以下幾種:
1,String,
2,Number
3,Boolean
4,Undefined
5,Null
6,Symbol
7,Object->Array,Function,Date,Error,...
JSON 支持的格式?jīng)]有symbol和undefined,支持Number類型但不含NaN;
JSON 語(yǔ)法規(guī)則:
1,數(shù)據(jù)在名稱/值對(duì)中
2,數(shù)據(jù)由逗號(hào)分隔
3,花括號(hào)保存對(duì)象
4,方括號(hào)保存數(shù)組
JSON的名稱必須是用“ ”包含的也就是“string”;
所以JSON只是一個(gè)數(shù)據(jù)格式,這種格式也分三種:
1,JSON字符串 可以這么寫但不是合法的JSON數(shù)據(jù)(目的只是作為字符串便于傳遞)
下面數(shù)組和對(duì)象要轉(zhuǎn)換為這種格式
var json = "{"name" : "obama","age": 73}";
2,JSON數(shù)組
var jsonArray = ["obama","bush","cliton",null];
3,JSON對(duì)象
var jsonObj = { "name" : "obama", "age" : 73 }
以上三種都是JSON格式的數(shù)據(jù)類型;
但在一般程序中作為數(shù)據(jù)傳遞的話,一般都是作為文本Text傳遞的較多,也就是字符串,因此有專門的方法,
var json = "{"name" : "obama","age" : 73 }"; //如果直接使用的話,得到的只是一個(gè)字符串,因此需要轉(zhuǎn)化為Object; //json.name -> undefined var jsonStr = eval("("+json+")"); //之所以在eval函數(shù)的內(nèi)部在添加一個(gè)括號(hào),如果沒有的話,函數(shù)會(huì)直接解析掉外部的大括號(hào),最終報(bào)錯(cuò),這不是一個(gè)好的方法; //使用es5的方法 var jsonStr = JSON.parse(json); //{"name" : "obama","age" : 73} jsonStr.name = "obama"; //或者將JSON對(duì)象轉(zhuǎn)換為字符串,便于使用 var jsonObj = { "name" : "obama", "age" : 73 } var jsonStr = JSON.stringify(jsonObj); //"{"name":"obama","age":73}"; typeof jsonStr ==="string" //true //需要注意的是使用JSON方法得到的都是深度拷貝,是兩個(gè)不同的數(shù)據(jù),
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88592.html
摘要:更多資料如果你想了解更多關(guān)于的資料,下面的連接對(duì)你絕對(duì)有用關(guān)于本文本文轉(zhuǎn)自大叔的深入理解系列。深入理解系列文章,包括了原創(chuàng),翻譯,轉(zhuǎn)載,整理等各類型文章,原文是大叔的一個(gè)非常不錯(cuò)的專題,現(xiàn)將其重新整理發(fā)布。 前言 寫這篇文章的目的是經(jīng)??吹介_發(fā)人員說(shuō):把字符串轉(zhuǎn)化為JSON對(duì)象,把JSON對(duì)象轉(zhuǎn)化成字符串等類似的話題,所以把之前收藏的一篇老外的文章整理翻譯了一下,供大家討論,如有錯(cuò)誤,...
摘要:不同的語(yǔ)言中,它被理解為對(duì)象,紀(jì)錄,結(jié)構(gòu),字典,哈希表,有鍵列表,或者關(guān)聯(lián)數(shù)組值的有序列表。數(shù)組是值的有序集合。在前后端分離的大勢(shì)是前段和后端的一種數(shù)據(jù)交換形式,不僅僅是前后端的一種數(shù)據(jù)交換形式,還是系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的一種形式。 作為一名開發(fā)人員,我們時(shí)常跟JSON打交道,但對(duì)于JSON卻有這不少的疑惑,但平常也就是停留在使用的角度上。今天我們就來(lái)走進(jìn)JSON。 我們首先引入兩個(gè)問...
摘要:所以僅用于簡(jiǎn)化理解,快速入門,依然需要閱讀有深入研究的文章來(lái)加深對(duì)各種異步流程控制的方法的掌握。 原文地址:http://zodiacg.net/2015/08/javascript-async-control-flow/ 隨著ES6標(biāo)準(zhǔn)逐漸成熟,利用Promise和Generator解決回調(diào)地獄問題的話題一直很熱門。但是對(duì)解決流程控制/回調(diào)地獄問題的各種工具認(rèn)識(shí)仍然比較麻煩。最近兩天...
摘要:是最重要特性之一,它是目前為止最佳的異步解決方案了。雖然沒有在中錄入,但很快就到來(lái),目前已經(jīng)在階段。表示暫停,表示執(zhí)行下一步,如果你不了解也沒關(guān)系,可以忽略它直接學(xué)習(xí)。 await/async 是 ES7 最重要特性之一,它是目前為止 JS 最佳的異步解決方案了。雖然沒有在 ES2016 中錄入,但很快就到來(lái),目前已經(jīng)在 ES-Next Stage 4 階段。 直接上例子,比如我們需要...
摘要:說(shuō)句玩笑話,如果是基于的,可能就叫了,形式可能就是這樣的了,如果這樣,那么可能現(xiàn)在是和比較密切了。此外,還有一個(gè)函數(shù),我們較少看到,但是它會(huì)影響。 我們先來(lái)看一個(gè)JS中常見的JS對(duì)象序列化成JSON字符串的問題,請(qǐng)問,以下JS對(duì)象通過(guò)JSON.stringify后的字符串是怎樣的?先不要急著復(fù)制粘貼到控制臺(tái),先自己打開一個(gè)代碼編輯器或者紙,寫寫看,寫完再去仔細(xì)對(duì)比你的控制臺(tái)輸出,如果有...
閱讀 3591·2021-11-24 10:19
閱讀 3730·2021-09-30 09:47
閱讀 1293·2019-08-30 15:56
閱讀 791·2019-08-29 15:11
閱讀 905·2019-08-29 13:43
閱讀 3570·2019-08-28 18:25
閱讀 2161·2019-08-26 13:27
閱讀 1439·2019-08-26 11:44