javascript
javascript中数据类型及转换、String()和toString()的区别
數(shù)據(jù)類型:
JavaScript中的數(shù)據(jù)類型:
在計(jì)算機(jī)中,不同的數(shù)據(jù)類型所占的儲(chǔ)存空間是不同的。1、原始數(shù)據(jù)類型:number (數(shù)字)、string(字符串)、boolean(布爾值)、null(空對(duì)象)、undefined(未定義)、object(對(duì)象)6種,前面5種分為簡(jiǎn)單數(shù)據(jù)類型,后面的object為復(fù)雜數(shù)據(jù)類型;2、ECMAScript6中新增symbol,3、新增BigInt,與Number相比,可以支持更大的整數(shù)值,共8種。
1、number:數(shù)字類型(整數(shù)和小數(shù))2、string:字符串類型(值一般是用雙引號(hào)或者單引號(hào)括起來(lái)的)3、boolean:布爾值,值為true或者false4、null:空類型,值為null,一個(gè)對(duì)象指向?yàn)榭諘r(shí),此時(shí)值為null5、undefined:未定義,值為undefined,值為undefined的情況:1、變量聲明后沒(méi)有賦值2、函數(shù)沒(méi)有明確返回值,如果接收了,結(jié)果是undefined3、一個(gè)變量的的結(jié)果是undefined和一個(gè)數(shù)字計(jì)算的結(jié)果是NaN,結(jié)果為非數(shù)字,沒(méi)有意義6、object:對(duì)象輸出數(shù)據(jù)類型:typeof 變量名 或 typeof(變量名),如
<script>var num = 10;console.log(typeof(num));console.log(typeof num);</script>Number類型:
數(shù)值字面量,數(shù)值的固定表示。在JavaScript中使用的是十進(jìn)制,常見(jiàn)的數(shù)字進(jìn)制還有二進(jìn)制、八進(jìn)制、十六進(jìn)制等。浮點(diǎn)數(shù):指小數(shù),浮點(diǎn)數(shù)之間的計(jì)算有出現(xiàn)問(wèn)題,兩個(gè)浮點(diǎn)數(shù)之間是不能判斷是否相等的,如果實(shí)在要計(jì)算,只能把它放大到整數(shù)后在計(jì)算,之后在縮小相同的倍數(shù)。數(shù)字的范圍:最大值:Number.MAX_VALUE 最小值:Number.MIN_VALUE 無(wú)窮大:Infinity 無(wú)窮小:-Infinity;NaN指一個(gè)壞掉的數(shù)字,它和任何數(shù)字或者NaN都不能比較,判斷一個(gè)數(shù)據(jù)類型是否為NaN的方法:isNaN(變量)。
String類型:
字符串字面量,指用雙引號(hào)或者單引號(hào)包裹著的字符;字符串的長(zhǎng)度:str.length;轉(zhuǎn)義符:JavaScript好多特殊符號(hào)是通過(guò)\來(lái)轉(zhuǎn)義的,轉(zhuǎn)義符很多,我們用的時(shí)候到官網(wǎng)查就可以了,不需死記硬背。字符串的拼接:只要有一個(gè)是字符串,用加號(hào)連接就是拼接。有一個(gè)是數(shù)字使用減號(hào),其他是字符串則相減。
<script>// 字符串可以使用單引號(hào)也可以使用雙引號(hào)console.log("哈哈\\嘎嘎");console.log("哈哈\t嘎嘎");console.log("哈哈\"嘎嘎");// 字符串的拼接var str1 = '你好';var str2 = '我好';var str = str1 + str2;console.log(str) //你好 我好var num1 = 3;var str1 = '10';var sum = num1 + str1;console.log(sum); //310 // 隱式轉(zhuǎn)換:通過(guò) -、*、/ 瀏覽器自動(dòng)的把字符串轉(zhuǎn)換成數(shù)字類型,如:var str1 = '10';var str2 = '20';var num = str2 - str1;console.log(num); //10var num1 = '10';var num2 = 5;console.log(num1 * num2); //50console.log(num1 / num2); //2</script>Boolean類型:
字面量是true和false(1或0)。
Undefined類型:
表示一個(gè)聲明后沒(méi)有賦值的變量。
null類型:
表示一個(gè)空,如果想要是變量的值為null,那么必須手動(dòng)設(shè)置:var nul = null;
<script>console.log(true); //truevar str;console.log(str); //undefinedconsole.log(str + 'str'); //undefinedstrconsole.log(str + 12); //NaNconsole.log(str + true); //NaNconsole.log(str + false); //NaNvar nul = null;console.log(nul); //nullconsole.log(nul + 'str'); //nullconsole.log(nul + 12); //12console.log(nul + true); //1console.log(nul + false); //0</script>數(shù)據(jù)類型轉(zhuǎn)換:
<script>// 一、轉(zhuǎn)整數(shù):parseInt()console.log(parseInt('10'));//10console.log(parseInt('20dfa'));//20console.log(parseInt('gg10'));//NaNconsole.log(parseInt('2hu3'));//2console.log(parseInt(10.78));//10console.log(parseInt('23.4fs'));//23// 二、轉(zhuǎn)小數(shù):parseFloat()console.log(parseFloat('19'));//19console.log(parseFloat('19jk'));//19console.log(parseFloat('gf19'));//NaNconsole.log(parseFloat('12.78j32'));//12.78// 三、轉(zhuǎn)數(shù)字,比上面的兩種要嚴(yán),只有純數(shù)字的字符串才會(huì)被轉(zhuǎn)成數(shù)字類型:Number()console.log(Number('29'));//29console.log(Number('19ds'));//NaNconsole.log(Number('f43'));//NaNconsole.log(Number('10.98'));//10.98// 四、轉(zhuǎn)字符串:num.toString()和String(num)var num = 10;console.log(num.toString());//'10'console.log(String(num));//'10'// 如果變量有意義調(diào)用.toString()轉(zhuǎn)換// 如果變量沒(méi)有意義使用String()轉(zhuǎn)換// 五、轉(zhuǎn)boolean值:Boolean()console.log(Boolean(1));//trueconsole.log(Boolean(0));//falseconsole.log(Boolean(''));//falseconsole.log(Boolean('3'));//trueconsole.log(Boolean(null));//falseconsole.log(Boolean(undefined));//falseconsole.log(Boolean(NaN));//falseconsole.log(Boolean(false));//false</script>String()和.toString()的區(qū)別:.toString()只能轉(zhuǎn)換有意義的數(shù)據(jù)類型,而String()則沒(méi)有那么要求高。
<script>var num = null;var str;console.log(toString(num)); //undefinedconsole.log(toString(str)); //undefinedconsole.log(num.toString());//報(bào)錯(cuò)console.log(str.toString());//報(bào)錯(cuò)</script>eval()方法:
eval()方法是可以計(jì)算字符串的,普通的字符串是無(wú)法做計(jì)算的,如:
var str = '2+3';console.log(str);//2+3console.log(eval(str));//5提示:本文圖片等素材來(lái)源于網(wǎng)絡(luò),若有侵權(quán),請(qǐng)發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者 刪除。
筆者:苦海
總結(jié)
以上是生活随笔為你收集整理的javascript中数据类型及转换、String()和toString()的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中static关键字简介
- 下一篇: python链表和树实验报告_数据结构树