最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
javascript中數(shù)據(jù)類(lèi)型是什么

小編給大家分享一下javascript中數(shù)據(jù)類(lèi)型是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)從事網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專(zhuān)業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!

一、簡(jiǎn)介

JavaScript 語(yǔ)言的每一個(gè)值,都屬于某一種數(shù)據(jù)類(lèi)型。JavaScript 的數(shù)據(jù)類(lèi)型,共有七種:

  1. 數(shù)值(number):整數(shù)和小數(shù)(比如1和3.14)。

  2. 字符串(string):文本(比如Hello World)。

  3. 布爾值(boolean):表示真?zhèn)蔚膬蓚€(gè)特殊值,即true(真)和false(假)。

  4. undefined:表示“未定義”或不存在。

  5. null:表示空值,即此處的值為空。

  6. 對(duì)象(object):各種值組成的集合。

  7. 符號(hào)(Symbol)

其中Symbol是ES6新增的基本數(shù)據(jù)類(lèi)型,本文僅介紹前六種。

二、數(shù)據(jù)類(lèi)型詳解

1、 數(shù)值(number):

1.1 整數(shù)和浮點(diǎn)數(shù)

JavaScript 內(nèi)部,所有數(shù)字都是以64位浮點(diǎn)數(shù)形式儲(chǔ)存,即使整數(shù)也是如此。

1 === 1.0 // true

1.2 精度

在國(guó)際標(biāo)準(zhǔn) IEEE 754中,JavaScript 浮點(diǎn)數(shù)的64個(gè)二進(jìn)制位,從最左邊開(kāi)始,第1位數(shù)字符號(hào)位決定了一個(gè)數(shù)的正負(fù)(0為正數(shù),1為負(fù)數(shù)),第2~12位指數(shù)部分決定了數(shù)值的大小,第13~64小數(shù)部分決定了數(shù)值的精度。
1.3 數(shù)值的進(jìn)制

JavaScript 對(duì)整數(shù)提供四種進(jìn)制的表示方法:十進(jìn)制、十六進(jìn)制、八進(jìn)制、二進(jìn)制。

  • 十進(jìn)制:沒(méi)有前導(dǎo)0的數(shù)值。

  • 八進(jìn)制:有前綴0o或0O的數(shù)值。

  • 十六進(jìn)制:有前綴0x或0X的數(shù)值。

  • 二進(jìn)制:有前綴0b或0B的數(shù)值。

1.4 NaN

NaN意為Not a Number,主要出現(xiàn)在將字符串解析成數(shù)字出錯(cuò)的場(chǎng)合,如:

618 - 'x' // NaN
NaN不等于任何值,包括它本身。:
NaN === NaN // false

2. 字符串(string):

用''或""引起來(lái),里面沒(méi)有包含任何內(nèi)容則是空字符串,長(zhǎng)度為0。而里面有空格的稱(chēng)為空格字符串,長(zhǎng)度為1,兩者是不一樣的。

2.1 多行字符串

如果字符串分成多行,可以在每一行的尾部使用反斜杠,不加則會(huì)報(bào)錯(cuò)。除了使用反斜杠外,也可以通過(guò)連接運(yùn)算符(+)來(lái)連接多個(gè)單行字符串,兩種方法所得結(jié)果一致,建議使用連接運(yùn)算符(+)。

var longString = 'Long \
long \
long \
string';

longString
// "Long long long string"
var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';

longString
// "Long long long string"

ES6中新增反引號(hào)(`)來(lái)寫(xiě)多行字符串,而這個(gè)多行字符串的length會(huì)包含回車(chē)的長(zhǎng)度。

2.2 轉(zhuǎn)義

反斜杠()在字符串內(nèi)有特殊含義,用來(lái)表示一些特殊字符,所以又稱(chēng)為轉(zhuǎn)義符。常需要用反斜杠轉(zhuǎn)義的特殊字符有:

  • 0 :null(u0000)

  • n :換行符(u000A)

  • r :回車(chē)鍵(u000D)

  • t :制表符(u0009)

  • ' :?jiǎn)我?hào)(u0027)

  • " :雙引號(hào)(u0022)

    \ :反斜杠(u005C)

2.3 length屬性

length屬性返回字符串的長(zhǎng)度,該屬性由字符串本省決定,無(wú)法通過(guò)賦值改變。

var s = 'mamamoo';
s.length // 7
s.length = 5;
s.length // 7

3. 布爾值(boolean):

布爾值只有“真”和“假”這兩個(gè)值?!罢妗庇藐P(guān)鍵字true表示,“假”用關(guān)鍵字false表示。如果 JavaScript 預(yù)期某個(gè)位置應(yīng)該是布爾值,會(huì)將該位置上現(xiàn)有的值自動(dòng)轉(zhuǎn)為布爾值。轉(zhuǎn)換規(guī)則是除了undefined、null、false、0、NaN、""或''(空字符串)六個(gè)值被轉(zhuǎn)為false,其他值都視為true。

4. undefined和null:

null與undefined都可以表示“沒(méi)有”,含義非常相似。兩者的區(qū)別是:

  • null是一個(gè)表示“空”的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示"此處無(wú)定義"的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。

  • 變量沒(méi)有值返回的是undefined。

  • 當(dāng)有一個(gè)對(duì)象object但還不想賦值時(shí)推薦使用null;當(dāng)有一個(gè)非對(duì)象但還不想賦值時(shí)推薦使用undefined。

5. 對(duì)象(object):

5.1 生成方法

對(duì)象簡(jiǎn)單來(lái)說(shuō)就是一組“鍵值對(duì)”(key-value)的集合,是一種無(wú)序的復(fù)合數(shù)據(jù)集合。
生成方法是用大括號(hào)把鍵值對(duì)包起來(lái)后賦值給變量,兩個(gè)鍵值對(duì)之間用逗號(hào)分隔。“:”前是鍵名,“:”后是鍵值。如:

var obj = {
  foo: 'Hello',
  bar: 'World'
};

5.2 鍵名與鍵值

對(duì)象的所有鍵名都是字符串,要加引號(hào),不加也會(huì)自動(dòng)轉(zhuǎn)為字符串。如果鍵名不符合標(biāo)識(shí)名的條件(比如第一個(gè)字符為數(shù)字,或者含有空格或運(yùn)算符),且也不是數(shù)字,則必須加上引號(hào),否則會(huì)報(bào)錯(cuò)。而鍵值是什么類(lèi)型就用該類(lèi)型的格式。

5.3 屬性

對(duì)象的每一個(gè)鍵名又稱(chēng)為“屬性”(property),它的“鍵值”可以是任何數(shù)據(jù)類(lèi)型。

屬性的讀取

讀取對(duì)象的屬性,有兩種方法,一種是使用點(diǎn)運(yùn)算符,還有一種是使用方括號(hào)運(yùn)算符。

var obj = {
  p: 'Hello World'
};

obj.p // "Hello World"
obj['p'] // "Hello World",[]內(nèi)''一定要加

屬性的刪除delete(無(wú)value無(wú)key)

var obj = { p: 1 };
Object.keys(obj) // ["p"]

delete obj.p // true
obj.p // undefined
Object.keys(obj) // []

屬性的查看Object.keys

var obj = {
  key1: 1,
  key2: 2
};

Object.keys(obj);
// ['key1', 'key2']

屬性是否存在:in

in運(yùn)算符用于檢查對(duì)象是否包含某個(gè)屬性(注意,檢查的是鍵名,不是鍵值),如果包含就返回true,否則返回false。

屬性的遍歷:for...in 循環(huán)

var obj = {a: 1, b: 2, c: 3};

for (var i in obj) {
  console.log('鍵名:', i);
  console.log('鍵值:', obj[i]);
}
// 鍵名: a
// 鍵值: 1
// 鍵名: b
// 鍵值: 2
// 鍵名: c
// 鍵值: 3

三、如何知道變量類(lèi)型?

使用type of可得變量的數(shù)據(jù)類(lèi)型,如:

var t = 619;
type of t;//"number"

特別注意的是:

  • 當(dāng)數(shù)據(jù)類(lèi)型為null時(shí),用type of打出的數(shù)據(jù)類(lèi)型卻是'object'。

  • 當(dāng)定義了一個(gè)函數(shù)時(shí),用type of打出的數(shù)據(jù)類(lèi)型卻是'function'。

四、數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

4.1 轉(zhuǎn)為string

  • 使用toString()

var t = 619;
t.toString();//"619"

null沒(méi)有toString這個(gè)API,不能使用toString,會(huì)報(bào)錯(cuò)

var n = null;
n.toString;
//Uncaught TypeError: Cannot read property 'toString' of null

undefined也會(huì)報(bào)錯(cuò)

var n = undefined;
n.toString();
//Uncaught TypeError: Cannot read property 'toString' of undefined

object使用toString會(huì)得到"[object Object]"。

var object = {name:"po"};
object.toString()
//"[object Object]"
  • 通過(guò)與空字符串相加(+"")也能轉(zhuǎn)化為字符串類(lèi)型,且null、undefined也適用。

  • 使用window.String()

window.String(null)//"null"

為什么1 + '1' = '11'?
這是因?yàn)楫?dāng)兩個(gè)不同數(shù)據(jù)類(lèi)型相加時(shí),會(huì)優(yōu)先選擇轉(zhuǎn)化為字符串,所以1 + '1'相當(dāng)于1.toString() + '1',于是結(jié)果為兩個(gè)字符串1相加,即字符串11。

4.2 轉(zhuǎn)為布爾

使用Boolean()

Boolean(0)//false
Boolean('')//false
Boolean(' ')//true

使用!!

!! ''//false
!! ' '//true

五個(gè)falsy值:0、NaN、空字符串、null、undefined

4.3 轉(zhuǎn)為Number

使用Number()

Number('1')//1

使用parseInt()

//第二位參數(shù)要寫(xiě),是表示進(jìn)制

使用parseFloat()

parseFloat('1.23')//1.23

使用 -0

'1'-0//1

使用 +

+ null//0

看完了這篇文章,相信你對(duì)javascript中數(shù)據(jù)類(lèi)型是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文名稱(chēng):javascript中數(shù)據(jù)類(lèi)型是什么
標(biāo)題URL:http://fisionsoft.com.cn/article/jgjshp.html