中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

JavaScript常用數(shù)據(jù)類型的概念是什么-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)專注于西安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供西安營銷型網(wǎng)站建設(shè),西安網(wǎng)站制作、西安網(wǎng)頁設(shè)計、西安網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造西安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供西安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

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

1.動態(tài)類型

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

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

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

1.動態(tài)類型

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

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

動態(tài)類型語言特點(diǎn)是靈活,缺點(diǎn)是犧牲了部分性能。對于動態(tài)類型語言,變量類型是可以動態(tài)改變的,無法在編譯期確定,因此編譯期的類型檢查比較弱,這將導(dǎo)致很多類型錯誤直到運(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 以外的所有類型都是不可變的(值本身無法被改變)。例如,與 C 語言不同,JavaScript 中字符串是不可變的(譯注:如,JavaScript 中對字符串的操作一定返回了一個新字符串,原始字符串并沒有被改變)。我們稱這些類型的值為“原始值”。

布爾類型(Boolean)

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

Null 類型

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

Undefined 類型

一個沒有被賦值的變量會有個默認(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)。它并沒有為整數(shù)給出一種特定的類型。除了能夠表示浮點(diǎn)數(shù)外,還有一些帶符號的值:+Infinity,-Infinity 和 NaN (非數(shù)值,Not-a-Number)。

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

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

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

字符串類型

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

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

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

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

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

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

符號類型

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

對象Object

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

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

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

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

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

當(dāng)前題目:JavaScript常用數(shù)據(jù)類型的概念是什么-創(chuàng)新互聯(lián)
本文路徑:http://m.rwnh.cn/article44/dsdshe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站服務(wù)器托管、營銷型網(wǎng)站建設(shè)定制開發(fā)、小程序開發(fā)外貿(mào)建站

廣告

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

商城網(wǎng)站建設(shè)
沙雅县| 抚远县| 南康市| 子长县| 满城县| 依安县| 安溪县| 库尔勒市| 沂水县| 乐昌市| 林芝县| 政和县| 胶州市| 郴州市| 越西县| 常德市| 宝兴县| 盐边县| 丹凤县| 卢龙县| 仪征市| 苏尼特左旗| 临安市| 安吉县| 东海县| 淳安县| 门源| 海兴县| 阜平县| 读书| 兰坪| 湛江市| 汉中市| 广宁县| 尼玛县| 大城县| 句容市| 渝北区| 化州市| 甘南县| 彰化县|