詳解JavaScript的數(shù)據(jù)類型以及數(shù)據(jù)類型的轉(zhuǎn)換
基本數(shù)據(jù)類型
字符串型數(shù)據(jù)
在JavaScript中,字符串型數(shù)據(jù)是用引號(hào)括起來(lái)的文本字符串。
在JavaScript中不區(qū)分“字符”和“字符串”,字符也被當(dāng)做字符串處理。在字符串中可以包括用于特殊目的的字符。
<script type="text/javascript"> var hello = "你好"; //雙引號(hào) var name = 'fanyoh'; //單引號(hào) alert(hello + name); </script>
數(shù)值型數(shù)據(jù)
JavaScript中用于表示數(shù)字的類型成為數(shù)字型,不像其他語(yǔ)言那樣區(qū)分整型和浮點(diǎn)型。數(shù)字型用于雙精度浮點(diǎn)值來(lái)表示數(shù)字?jǐn)?shù)據(jù),可以表示(-2^53 ~ +2^53)區(qū)間中的值。數(shù)字的值可以用普通記數(shù)法也可以使用科學(xué)記數(shù)法。表示方式:
10,10.1,0.1 表示數(shù)字
3e7,0.3e7 表示科學(xué)記數(shù)
復(fù)合數(shù)據(jù)類型
對(duì)象的概念
在面向?qū)ο蟮脑O(shè)計(jì)模式中,將數(shù)據(jù)和處理數(shù)據(jù)的方法捆綁在一起形成的整體稱為對(duì)象。它封裝了數(shù)據(jù)和操作數(shù)據(jù)的方法,使用時(shí)要先創(chuàng)建這個(gè)對(duì)象,用new運(yùn)算符來(lái)調(diào)用對(duì)象的構(gòu)造函數(shù)。
日期對(duì)象
JavaScript將與日期相關(guān)的所有特性封裝進(jìn)Date對(duì)象,主要用來(lái)進(jìn)行一些與時(shí)間相關(guān)的操作,比如:獲取當(dāng)前系統(tǒng)時(shí)間,使用前要?jiǎng)?chuàng)建該對(duì)象的一個(gè)實(shí)例:
date = new Date(); //直接創(chuàng)建 date = new Date( val ); //指定日期創(chuàng)建 date = new Date(y , m , d[ , h, [ , min[ , sec[ , ms] ]]]); //指定日期創(chuàng)建
全局對(duì)象
全局對(duì)象是所有全局方法的擁有者,用來(lái)統(tǒng)一管理全局方法,全局方法也就是指全局函數(shù)。該對(duì)象不能使用new運(yùn)算符來(lái)創(chuàng)建對(duì)象實(shí)例,所有的方法直接調(diào)用即可。
數(shù)學(xué)對(duì)象
數(shù)學(xué)對(duì)象(Math)封裝了與數(shù)學(xué)相關(guān)的特性,包括一些常數(shù)和數(shù)學(xué)函數(shù),主要使用一些簡(jiǎn)單的數(shù)學(xué)基本運(yùn)算比如:正弦、余弦、正切、取絕對(duì)值等;(不需要用new關(guān)鍵字創(chuàng)建,直接使用即可)
字符串對(duì)象
String對(duì)象封裝了與字符串有關(guān)的特性,主要用來(lái)處理字符串。通過(guò)String對(duì)象,可以對(duì)字符串進(jìn)行剪切、合并、替換等等??梢哉{(diào)用該對(duì)象的構(gòu)造函數(shù)創(chuàng)建一個(gè)實(shí)例,其實(shí)在定義一個(gè)字符串類型變量時(shí)也就創(chuàng)建了一個(gè)String對(duì)象實(shí)例。
調(diào)用String對(duì)象的方法或?qū)傩孕问饺纭皩?duì)象名.方法名”或“對(duì)象名.屬性名”,構(gòu)造函數(shù)如下:
String(strVal[]);
例:將文本串中將李白的《靜夜思》的各個(gè)部分分別提取出來(lái),并格式化輸出。標(biāo)題加粗,文本居中對(duì)齊,詩(shī)歌正文顏色顯示灰色
<html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script type="text/javascript"> var comment = "靜夜思李白床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。"; var partial = comment.substring(0,3); //取出標(biāo)題 partial = partial.bold(); //標(biāo)題加粗 document.write("<p align=\"center\">");//輸出HTML標(biāo)簽"<p>",并設(shè)置居中對(duì)齊 docunment.write(partial); //輸出標(biāo)題 partial = comment.slice(3,5); //取出作者 document.write("<br />"); //輸出換行標(biāo)簽<br> document.write(partial); //輸出作者 partial = comment.slice(5,17); //取出第一句詩(shī)文 partial = partial.fontcolor("gray"); //設(shè)置顏色為灰色 document.write("<br />"); document.write(partial); partial = comment.slice(17,29); //取出第二就詩(shī)文 partial = partial.fontcolor("gray"); //設(shè)置顏色為灰色 document.write("<br />"); document.write(partial); document.write("</p>"); </script> </body> </html>
數(shù)組
數(shù)組是JavaScript中另一個(gè)重要的基本數(shù)據(jù)類型。內(nèi)部對(duì)象Array封裝了所有和數(shù)組有關(guān)的方法和屬性,其內(nèi)存在多個(gè)數(shù)據(jù)段組合存儲(chǔ)??梢孕蜗蟮睦斫鉃橐环N有很多連續(xù)房間的樓層,每個(gè)房間都可以存放貨物,提取貨物時(shí)只需要其對(duì)應(yīng)的房間號(hào)即可。
例:創(chuàng)建一個(gè)數(shù)組用于保存古代幾位詩(shī)人的名字,通過(guò)遍歷數(shù)組逐一輸出每個(gè)詩(shī)人的名字
<html> <head> <meta charset="utf-8" /> <title>數(shù)組驗(yàn)證</title> </head> <body> <script type="text/javascript"> var poets = new Array("王維" , "杜甫" , "李白" , "白居易"); document.write("古代幾位大詩(shī)人:<br/>"); //輸出標(biāo)題 for(n in poets){ document.write("<li>"+ poets[n]+ "</li>") } </script> </body> </html>
其他數(shù)據(jù)類型
函數(shù)
在JavaScript中,“函數(shù)”充當(dāng)了兩個(gè)角色,一個(gè)是運(yùn)用在數(shù)據(jù)類型方法,另一個(gè)運(yùn)用在子程序設(shè)計(jì)方面。關(guān)于函數(shù)這里不做過(guò)多介紹 后面深究。
空值
之前所講過(guò)的每一種JavaScript數(shù)據(jù)類型都有自己的內(nèi)容,而編程中需要一種類型來(lái)表示“什么都沒(méi)有”。
Null類型就是為此目的而產(chǎn)生的。其表示一個(gè)空值??梢允褂胣ull和一個(gè)變量進(jìn)行比較測(cè)試該變量是否擁有內(nèi)容。通常用來(lái)判斷對(duì)象或引用是否承購(gòu)
<script type="text/javascript"> var x = 10; var y = null; if(x == null) { document.write("x的值是空值<br />"); } if(y == null) { document.write("y的值是空值<br />"); } </script>
不確定型
null值表示一個(gè)變量擁有空值??梢岳斫鉃橐呀?jīng)把“空”給了某個(gè)變量,而不確定型undefined則表示一個(gè)變量什么都沒(méi)有得到,連“null”都沒(méi)有。通常用來(lái)判斷一個(gè)變量是否已經(jīng)或已經(jīng)賦值。
數(shù)據(jù)類型的轉(zhuǎn)換
隱式轉(zhuǎn)換
在程序運(yùn)行是,系統(tǒng)根據(jù)當(dāng)前上下文的需要,自動(dòng)將數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型的過(guò)程稱為隱式轉(zhuǎn)換。
如:document.write()和alert()時(shí)很多時(shí)候就發(fā)生了隱式轉(zhuǎn)換,也就是無(wú)論你向這兩個(gè)方法中輸入什么類型的數(shù)據(jù)最后都會(huì)被轉(zhuǎn)換為字符串類型數(shù)據(jù)。
顯示轉(zhuǎn)換
與隱式類型轉(zhuǎn)換相對(duì)應(yīng)的是顯示類型轉(zhuǎn)換。此過(guò)程需要手動(dòng)轉(zhuǎn)換到目標(biāo)類型,要將某一類型的數(shù)據(jù)轉(zhuǎn)換為另一個(gè)類型的數(shù)據(jù)需要用到特定的方法。
<html> <head> <meta charset="utf-8" /> <title>顯示轉(zhuǎn)換</title> </head> <body> <script type="text/javascript"> var priceOfApple = "3元"; var priceOfBanana = "3.5元"; priceOfApple = parseInt(priceOfApple); var priceOfBanana2 = parseInt(priceOfBanana); priceOfBanana = parseFloat(priceOfBanana); if(priceOfApple == 3 && priceOfBanana2 == 3 && priceOfBanana == 3.5) { document.write(priceOfApple + priceOfBanana2 + priceOfBanana); } else { document.write("沒(méi)有得到預(yù)期結(jié)果"); } </script> </body> </html>
以上所述是小編給大家介紹的JavaScript的數(shù)據(jù)類型以及數(shù)據(jù)類型的轉(zhuǎn)換詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
js?fill函數(shù)填充數(shù)組或?qū)ο蟮慕鉀Q方法
這篇文章主要介紹了js?fill函數(shù)填充數(shù)組或?qū)ο蟮膯?wèn)題及解決方法,本文給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02微信小程序?qū)崿F(xiàn)預(yù)約生成二維碼功能
通過(guò)點(diǎn)擊預(yù)約按鈕即可生成二維碼憑碼入校參觀,下面小編通過(guò)實(shí)例代碼講解微信小程序?qū)崿F(xiàn)預(yù)約生成二維碼功能,感興趣的朋友跟隨小編一起看看吧2024-04-04js實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名系統(tǒng)
這篇文章主要介紹了js實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11js判斷頁(yè)面中是否有指定控件的簡(jiǎn)單實(shí)例
本篇文章主要是對(duì)js判斷頁(yè)面中是否有指定控件的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03JavaScript實(shí)現(xiàn)瀏覽器網(wǎng)頁(yè)自動(dòng)滾動(dòng)并點(diǎn)擊的示例代碼
這篇文章主要介紹了JavaScript實(shí)現(xiàn)瀏覽器網(wǎng)頁(yè)的自動(dòng)滾動(dòng)并點(diǎn)擊的示例代碼,幫助大家更好的理解和學(xué)習(xí)JavaScript的使用,感興趣的朋友可以了解下2020-12-12w3c編程挑戰(zhàn)_初級(jí)腳本算法實(shí)戰(zhàn)篇
下面小編就為大家?guī)?lái)一篇w3c編程挑戰(zhàn)_初級(jí)腳本算法實(shí)戰(zhàn)篇。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06