IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
大家好,今天我們來認(rèn)識(shí)下JavaScript中的數(shù)據(jù)類型。JavaScript是弱類型語言,開始的時(shí)候并不知道變量時(shí)什么類型,必須通過存儲(chǔ)的具體的值才能判斷變量的類型。
JavaScript的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型。其中,基本數(shù)據(jù)類型: Number(數(shù)字),String(字符串),Boolean(布爾),Undefined(未定義),Null(空);復(fù)雜(引用)數(shù)據(jù)類型: Object(對象), Array(數(shù)組), Function(函數(shù))。我們可以使用typeof操作符檢查變量的類型,語法為typeof(變量)/typeof 變量,typeof返回值: number, string, boolean, undefined, object, function。今天我們來認(rèn)識(shí)下JavaScript中的基本數(shù)據(jù)類型。
首先,我們來認(rèn)識(shí)下Number類型。number類型就是數(shù)字類型,主要用于存儲(chǔ)數(shù)據(jù),參與數(shù)學(xué)運(yùn)算。number類型包括 整數(shù),小數(shù),正數(shù),負(fù)數(shù),各種進(jìn)制的數(shù)字和特殊數(shù)字。我們通過下面的代碼來認(rèn)識(shí)下number類型:
- // 1.1 普通整數(shù)和小數(shù)
- var num1 = 10;
- var num2 = 2.5; console.log(typeof(num1), typeof num2);
- // 1.2 負(fù)值
- var num3 = -0.2;
- console.log(num3, typeof num3);
- // 1.3 八進(jìn)制,以 0 開頭并且沒有超過 8 的值,則為 8 進(jìn)制
- var num4 = 070;
- console.log(num4, typeof num4); // 56 number
- // 1.4 十六進(jìn)制,0x 開頭,則為 16 進(jìn)制
- var num5 = 0x10;
- console.log(num5, typeof num5); //15 number
除了上面的number類型,JavaScript中還有一些特殊的數(shù)字類型:
1、NaN: not a number,算術(shù)運(yùn)算不能得到正常數(shù)字時(shí)會(huì)返回NaN,NaN不和NaN相等。
2、Infinity: 無窮大。
3、e: 10的次冪 1e9代表1乘以10的9次冪
4、小數(shù)相加會(huì)有誤差
- //1.1 NaN not a number 算術(shù)運(yùn)算不能得到正常數(shù)字都會(huì)返回 NaN var num5 = ‘a’ - 5;
- console.log(num5, typeof num5); // NaN number
- // 1.2 無窮大
- var num6 = 1 / 0;
- console.log(num6, typeof num6); // Infinity number
- // 1.3 小數(shù)相加 會(huì)有一點(diǎn)偏差
- console.log(0.1+0.2); // 0.30000000000000004
接下來,我們來認(rèn)識(shí)下String類型,string類型就是字符串類型,是用引號引起來的內(nèi)容,單引號和雙引號都可以, 例如:“web”, ‘web’。字符串有一個(gè)常用屬性length,用來表示字符串的長度,字符串中的任意字符都占字符串的一個(gè)長度,字符串也可以通過charAt(下標(biāo))方法來獲取對應(yīng)下標(biāo)的字符,需要注意的是,字符串中下標(biāo)是從0開始的,除了charAt()方法外,也可以使用字符串加中括號的形式獲取對應(yīng)下標(biāo)的字符。
- var str1 = ‘abc’;
- var str2 = “123”;
- console.log(typeof str1,typeof str2); //string string
- console.log(str1.charAt(0)); // a
- console.log(str1[0]]); // a
此外,所有我們從 input 表單中獲取的用戶輸入的內(nèi)容都是字符串,哪怕輸入的是數(shù)字。例如下面的例子。
- <input type="text" id="oIn">
- <button id="oBut">輸出內(nèi)容</button>
-
- oBut.onclick = function () {
- var value = oIn.value;
- console.log(typeof value); // string
- }
接下來,我們來認(rèn)識(shí)下Boolean類型。Boolean: 布爾類型, 只有真和假,也就是true/false。
- var bool1 = true;
- var bool2 = false;
- console.log(typeof bool1, typeof bool2); // boolean boolean
- console.log(10 > 20); //false
- if(10 > 20){ // if 的小括號里面,會(huì)自動(dòng)轉(zhuǎn)換成 boolean 類型
- alert(true)
- };
除了通過比較能得到 Boolean 的值以外,還有一個(gè)口訣來判斷條件是否為真:非 0 為真,非空為真”。即 0 為假,其他數(shù)字為真,空字符串為假,其他為真。
最后,我們來認(rèn)識(shí)下null和undefined。null表示值為空,undefined表示變量沒有初始化(聲明未賦值),值的空缺。null表示空對象,使用typeof操作符得到的“object”。undefined:undefined類型,當(dāng)聲明變量未賦值時(shí),變量的值就是undefined,類型也是undefined。
- var a = null;
- console.log(a); // null
- console.log(typeof a); // object
-
- // var b = undefined;
- var b;
- console.log(b); // undefined
- console.log(typeof b); // undefined
>>本文地址:http://liujunjsxg.cn/zhuanye/2020/49236.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?