JavaScript常用數(shù)據(jù)類型的概念是什么

這篇文章主要介紹JavaScript常用數(shù)據(jù)類型的概念是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),北流企業(yè)網(wǎng)站建設(shè),北流品牌網(wǎng)站建設(shè),網(wǎng)站定制,北流網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,北流網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

編程語(yǔ)言都具有內(nèi)建的數(shù)據(jù)結(jié)構(gòu),但各種編程語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)常有不同之處。本文試圖列出 JavaScript 語(yǔ)言中內(nèi)建的數(shù)據(jù)結(jié)構(gòu)及其屬性,它們可以用來(lái)構(gòu)建其他的數(shù)據(jù)結(jié)構(gòu);同時(shí)盡可能的描述與其他語(yǔ)言的不同之處。

1.動(dòng)態(tài)類型

JavaScript 是一種弱類型或者說(shuō)動(dòng)態(tài)語(yǔ)言。這意味著你不用提前聲明變量的類型,在程序運(yùn)行過(guò)程中,類型會(huì)被自動(dòng)確定。這也意味著你可以使用同一個(gè)變量保存不同類型的數(shù)據(jù):

JS常用數(shù)據(jù)類型

編程語(yǔ)言都具有內(nèi)建的數(shù)據(jù)結(jié)構(gòu),但各種編程語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)常有不同之處。本文試圖列出 JavaScript 語(yǔ)言中內(nèi)建的數(shù)據(jù)結(jié)構(gòu)及其屬性,它們可以用來(lái)構(gòu)建其他的數(shù)據(jù)結(jié)構(gòu);同時(shí)盡可能的描述與其他語(yǔ)言的不同之處。

1.動(dòng)態(tài)類型

JavaScript 是一種弱類型或者說(shuō)動(dòng)態(tài)語(yǔ)言。這意味著你不用提前聲明變量的類型,在程序運(yùn)行過(guò)程中,類型會(huì)被自動(dòng)確定。這也意味著你可以使用同一個(gè)變量保存不同類型的數(shù)據(jù):

var foo = 42;    // foo is a Number now
foo = "bar"; // foo is a String now
foo = true;  // foo is a Boolean now

動(dòng)態(tài)類型語(yǔ)言特點(diǎn)是靈活,缺點(diǎn)是犧牲了部分性能。對(duì)于動(dòng)態(tài)類型語(yǔ)言,變量類型是可以動(dòng)態(tài)改變的,無(wú)法在編譯期確定,因此編譯期的類型檢查比較弱,這將導(dǎo)致很多類型錯(cuò)誤直到運(yùn)行期才能發(fā)現(xiàn)。

2.數(shù)據(jù)類型

最新的 ECMAScript 標(biāo)準(zhǔn)定義了 7 種數(shù)據(jù)類型:

6 種原始類型:

   Boolean
   Null
   Undefined
   Number
   String
   Symbol (ECMAScript 6 新定義)

Object

3.原始值( primitive values )

除 Object 以外的所有類型都是不可變的(值本身無(wú)法被改變)。例如,與 C 語(yǔ)言不同,JavaScript 中字符串是不可變的(譯注:如,JavaScript 中對(duì)字符串的操作一定返回了一個(gè)新字符串,原始字符串并沒(méi)有被改變)。我們稱這些類型的值為“原始值”。

布爾類型(Boolean)

布爾表示一個(gè)邏輯實(shí)體,可以有兩個(gè)值:true 和 false。

Null 類型

Null 類型只有一個(gè)值: null,更多詳情可查看 null 和 Null 。

Undefined 類型

一個(gè)沒(méi)有被賦值的變量會(huì)有個(gè)默認(rèn)值 undefined,更多詳情可查看 undefined 和 Undefined。

數(shù)字類型

根據(jù) ECMAScript 標(biāo)準(zhǔn),JavaScript 中只有一種數(shù)字類型:基于 IEEE 754 標(biāo)準(zhǔn)的雙精度 64 位二進(jìn)制格式的值(-(263 -1) 到 263 -1)。它并沒(méi)有為整數(shù)給出一種特定的類型。除了能夠表示浮點(diǎn)數(shù)外,還有一些帶符號(hào)的值:+Infinity,-Infinity 和 NaN (非數(shù)值,Not-a-Number)。

要檢查值是否大于或小于 +/-Infinity,你可以使用常量 Number.MAX_VALUE 和 Number.MIN_VALUE。另外在 ECMAScript 6 中,你也可以通過(guò) Number.isSafeInteger() 方法還有 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 來(lái)檢查值是否在雙精度浮點(diǎn)數(shù)的取值范圍內(nèi)。 超出這個(gè)范圍,JavaScript 中的數(shù)字不再安全了,也就是只有 second mathematical interger 可以在 JavaScript 數(shù)字類型中正確表現(xiàn)。

數(shù)字類型只有一個(gè)整數(shù),它有兩種表示方法: 0 可表示為 -0 和 +0("0" 是 +0 的簡(jiǎn)寫(xiě))。 在實(shí)踐中,這也幾乎沒(méi)有影響。 例如 +0 === -0 為真。 但是,你可能要注意除以0的時(shí)候:

42 / +0; // Infinity
42 / -0; // -Infinity

字符串類型

JavaScript的字符串類型用于表示文本數(shù)據(jù)。它是一組16位的無(wú)符號(hào)整數(shù)值的“元素”。在字符串中的每個(gè)元素占據(jù)了字符串的位置。第一個(gè)元素的索引為0,下一個(gè)是索引1,依此類推。字符串的長(zhǎng)度是它的元素的數(shù)量。

不同于類 C 語(yǔ)言,JavaScript 字符串是不可更改的。這意味著字符串一旦被創(chuàng)建,就不能被修改。但是,可以基于對(duì)原始字符串的操作來(lái)創(chuàng)建新的字符串。例如:

獲取一個(gè)字符串的子串可通過(guò)選擇個(gè)別字母或者使用 String.substr().兩個(gè)字符串的連接使用連接操作符 (+) 或者 String.concat().

注意代碼中的“字符串類型”!
可以使用字符串來(lái)表達(dá)復(fù)雜的數(shù)據(jù)。以下是一些很好的性質(zhì):

容易連接構(gòu)造復(fù)雜的字串符
字符串容易被調(diào)試(你看到的往往在字符串里)
字符串通常是許多APIs的常見(jiàn)標(biāo)準(zhǔn) (input fields, local storage values, XMLHttpRequest當(dāng)使用responseText等的時(shí)候回應(yīng)) 而且他只能與字符串一同使用。
按照慣例, 字符串一般可以用來(lái)表達(dá)任何數(shù)據(jù)結(jié)構(gòu)。這不是一個(gè)好主意。例如,使用一個(gè)分隔符,一個(gè)可以模仿一個(gè)列表(一個(gè)JavaScript的數(shù)組可能更適合一些) 。不幸的是,當(dāng)一個(gè)分隔符在用于列表中的元素時(shí),打亂了這個(gè)列表。 一個(gè)轉(zhuǎn)義字符等。所有這些慣例都變成了一個(gè)不存在的維護(hù)負(fù)擔(dān)而沒(méi)有正確的工具使用。

表達(dá)文本數(shù)據(jù)和符號(hào)數(shù)據(jù)時(shí)候推薦使用字符串。當(dāng)表達(dá)復(fù)雜的數(shù)據(jù)時(shí),使用字符串解析和適當(dāng)?shù)目s寫(xiě)。

符號(hào)類型

符號(hào)(Symbols)是ECMAScript 第6版新定義的。符號(hào)類型是唯一的并且是不可修改的, 并且也可以用來(lái)作為Object的key的值(如下). 在某些語(yǔ)言當(dāng)中也有類似的原子類型(Atoms). 你也可以認(rèn)為為它們是C里面的枚舉類型. 更多細(xì)節(jié)請(qǐng)看 Symbol 和 Symbol 。

對(duì)象Object

在 Javascript 里,對(duì)象可以被看作是一組屬性的集合。用對(duì)象字面量語(yǔ)法來(lái)定義一個(gè)對(duì)象時(shí),會(huì)自動(dòng)初始化一組屬性。(也就是說(shuō),你定義一個(gè)var a = "Hello",那么a本身就會(huì)有a.substring這個(gè)方法,以及a.length這個(gè)屬性,以及其它;如果你定義了一個(gè)對(duì)象,var a = {},那么a就會(huì)自動(dòng)有a.hasOwnProperty及a.constructor等屬性和方法。)而后,這些屬性還可以被增減。屬性的值可以是任意類型,包括具有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的對(duì)象。屬性使用鍵來(lái)標(biāo)識(shí),它的鍵值可以是一個(gè)字符串或者符號(hào)值(Symbol)。

ECMAScript定義的對(duì)象中有兩種屬性:數(shù)據(jù)屬性和訪問(wèn)器屬性。

數(shù)據(jù)屬性
數(shù)據(jù)屬性是鍵值對(duì),并且每個(gè)數(shù)據(jù)屬性擁有下列特性:

數(shù)據(jù)屬性的特性(Attributes of a data property)

以上是“JavaScript常用數(shù)據(jù)類型的概念是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱:JavaScript常用數(shù)據(jù)類型的概念是什么
分享鏈接:http://muchs.cn/article20/gphgjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化