日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS 几种数据类型及其转换

發(fā)布時(shí)間:2023/12/9 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS 几种数据类型及其转换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ECMAScript 標(biāo)準(zhǔn)定義了 7 種數(shù)據(jù)類型: Number;String;Boolean;Symbol;Null;Undefined;Object 。通常,數(shù)值、字符串、布爾值、undefined和null這五種類型,合稱為簡(jiǎn)單類型的值,即它們是最基本的數(shù)據(jù)類型,不能再細(xì)分了。對(duì)象則稱為復(fù)雜類型的值,因?yàn)橐粋€(gè)對(duì)象往往是多個(gè)簡(jiǎn)單類型的值的合成,可以看作是一個(gè)存放各種值的容器。(Symbol 和 object 類型,本文暫不涉及。)

1、number(數(shù)值)

(1)定義:根據(jù) ECMAScript 標(biāo)準(zhǔn),JavaScript 中只有一種數(shù)字類型:基于 IEEE 754 標(biāo)準(zhǔn)的雙精度 64 位二進(jìn)制格式的值。它并沒有為整數(shù)給出一種特定的類型。簡(jiǎn)單來說,JS中的所有數(shù)字都是以64位浮點(diǎn)數(shù)形式儲(chǔ)存,即使整數(shù)也是如此。PS:NaN,即非數(shù)值(Not a Number)是一個(gè)特殊的值,用于表示一個(gè)本來要返回?cái)?shù)值的操作數(shù)未返回值得情況,設(shè)計(jì)此值的目的是防止出現(xiàn)拋出錯(cuò)誤,導(dǎo)致代碼停止執(zhí)行。NaN與任何值都不相等,包括其本身。

(2)例如:

var num1 = 10; //十進(jìn)制console.log(num1);console.log(typeof num1);var num2 = 070; //八進(jìn)制console.log(num2);console.log(typeof num2);var num3 = 0xA; //十六進(jìn)制console.log(num3);console.log(typeof num3); 復(fù)制代碼

(3)類型轉(zhuǎn)換(number):

1>.Number()函數(shù):Number() 函數(shù)把對(duì)象的值轉(zhuǎn)換為數(shù)字。如果參數(shù)無法被轉(zhuǎn)換為數(shù)字,則返回 NaN。如下圖所示:

console.log(Number(123));// 數(shù)字console.log(Number('123'));// 包含數(shù)字的字符串console.log(Number('123abc'));// 不含數(shù)字的字符串console.log(Number(''));// 特殊:空字符串console.log(Number(true));// 布爾值console.log(Number(false));// 布爾值console.log(Number(undefined));// undefinedconsole.log(Number(null));// null 復(fù)制代碼

2>.parseInt()函數(shù):parseInt() 函數(shù)解析一個(gè)字符串參數(shù),并返回一個(gè)指定基數(shù)的整數(shù) 。語法:parseInt(string, radix);。如下圖所示:

console.log(parseInt("17", 8));console.log(parseInt("015", 10));console.log( parseInt("F", 16)); 復(fù)制代碼

3>.parseFloat() 函數(shù)解析一個(gè)字符串參數(shù)并返回一個(gè)浮點(diǎn)數(shù)。該函數(shù)指定字符串中的首個(gè)字符是否是數(shù)字。如果是,則對(duì)字符串進(jìn)行解析,直到到達(dá)數(shù)字的末端為止,然后以數(shù)字返回該數(shù)字,而不是作為字符串。

console.log(parseFloat("3.14"));console.log(parseFloat("314e-2"));console.log( parseFloat("FF2")); 復(fù)制代碼

4>.通過 “-0”(減零)和“+”(取正)的方法,也可以達(dá)到類型轉(zhuǎn)換的效果。

console.log('123'- 0);console.log(+ '456'); 復(fù)制代碼

2、string(字符串)

(1)定義:JS中字符串類型用于表示文本數(shù)據(jù)。它是由0或多個(gè)16位Unicode字符組成的字符序列。字符串可以由雙引號(hào)(")或單引號(hào)(')表示。

(2)例如:

var text1 = 'message';console.log(text1);console.log(text1.length);console.log(typeof text1); 復(fù)制代碼

(3)類型轉(zhuǎn)換(string)。

1>.String() 方法可把一個(gè)數(shù)據(jù)轉(zhuǎn)換為字符串,并返回結(jié)果。

console.log(String(123));// "數(shù)字"console.log(String(true));// "布爾"console.log(String(undefined)); // "undefined"console.log(String(null)); // "null" 復(fù)制代碼

2>.通過“+''”的方法,也可以轉(zhuǎn)換為字符串。

console.log(345 + '');// "數(shù)字"console.log(false + '');// "布爾"console.log(undefined + ''); // "undefined"console.log(null + ''); // "null" 復(fù)制代碼

(4)多行字符串的拼接:1>.兩個(gè)字符串之間用“+”拼接;2>.ES6語法,可用“``”進(jìn)行拼接。

3、boolean(布爾值)

(1)定義:表示真?zhèn)蔚膬蓚€(gè)特殊值,即true(真)和false(假)。PS:true不一定是1,而false也不一定是0.Boolean類型的值true和false是區(qū)分大小寫的,True和False(以及其他的混合大小寫形式)都不是Boolean值,只是標(biāo)志符。

(2)例如:

var genuine = true;console.log(genuine);console.log(typeof genuine);var sham = false;console.log(sham);console.log(typeof sham); 復(fù)制代碼

(3)類型轉(zhuǎn)換。

1>.Boolean()函數(shù)可以將任意類型的值轉(zhuǎn)為布爾值。

console.log(Boolean(1));// "數(shù)字1"console.log(Boolean(0));// "數(shù)字0"console.log(Boolean('1')); // "字符串1"console.log(Boolean('0')); // "字符串0"console.log(Boolean( )); //空格console.log(Boolean('')); //空字符串console.log(Boolean(null)); // "null"console.log(Boolean(undefined)); // "undefined" 復(fù)制代碼

2>.通過利用感嘆號(hào)取反的方法,也可以將任意類型的值轉(zhuǎn)為布爾值。(此方法不適用于空格)

console.log(!!1);// "數(shù)字1"console.log(!!0);// "數(shù)字0"console.log(!!'1'); // "字符串1"console.log(!!'0'); // "字符串0"console.log(!!''); //空字符串console.log(!!null); // "null"console.log(!!undefined); // "undefined" 復(fù)制代碼

4、null 和 undefined

(1)定義:undefined 表示“未定義”或不存在,即由于目前沒有定義,所以此處暫時(shí)沒有任何值。null 表示空值,即此處的值為空。

(2)例如:

var message;console.log(message);console.log(typeof message);var text = null;console.log(text);console.log(typeof text); 復(fù)制代碼

(3)undefined和null的區(qū)別:javaScript高級(jí)程序設(shè)計(jì)(第三部): 在使用var聲明變量但未對(duì)其加以初始化時(shí),這個(gè)變量的值就是undefined。 null值則是表示空對(duì)象指針。簡(jiǎn)單理解起來就是說,undefined指沒有賦值的變量,是非對(duì)象;而null通過typeof打印出來是object,可以看做暫不打算賦值的對(duì)象。

6、參考資料

(1)MDN:JavaScript 數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)

(2)阮一峰: JavaScript 教程 數(shù)據(jù)類型。

(3)JavaScript高級(jí)程序設(shè)計(jì)(第三版)。

總結(jié)

以上是生活随笔為你收集整理的JS 几种数据类型及其转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。