JavaScript數(shù)據(jù)類型有哪些?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
為保靖等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及保靖網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、保靖網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!js的基本數(shù)據(jù)類型有哪些?
ECMAScript中有5中簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型): Undefined、Null、Boolean、Number和String。還有1中復(fù)雜的數(shù)據(jù)類型————Object,Object本質(zhì)上是由一組無序的名值對組成的。
其中Undefined、Null、Boolean、Number都屬于基本類型。Object、Array和Function則屬于引用類型,String有些特殊
JS數(shù)組,字符串,json互相轉(zhuǎn)換
JS數(shù)組轉(zhuǎn)字符串
使用數(shù)組自帶的join方法可以把數(shù)組轉(zhuǎn)化為字符串:
let arr = [1,2,'uu']; let str = arr.join(','); console.log(str); // 1,2,uu
如果素組元素包含對象,則調(diào)用對象的toString()方法將對象轉(zhuǎn)化為字符串。
class C { // 自定義類C,以及自定義toString()方法 toString() { return 'class C'; } } let cc = new C(); // C的實例 let arr = [{a: 1}, cc, [3,4,[5,5]], 5]; let str = arr.join('---'); console.log(str); // [object Object]---class C---3,4,5,5---5
從上面的例子中還可以發(fā)現(xiàn),數(shù)組中嵌套數(shù)組時,所有元素依次打印出來,那是因為數(shù)組Array的toString()方法內(nèi)部實現(xiàn)就是join.
[1,1,[2,2,[3,3,3]]] + ""; // 1,1,2,2,3,3,3
字符串轉(zhuǎn)數(shù)組
使用字符串自帶的split方法可以把字符串分割為數(shù)組。
let str = '1,2,uu'; let arr = str.split(','); console.log(arr); // ["1", "2", "uu"] str
數(shù)組轉(zhuǎn)json字符串,json字符串轉(zhuǎn)數(shù)組
使用JSON.parse()方法可以解析json字符串轉(zhuǎn)化為相應(yīng)的json對象(包括數(shù)組),使用JSON.stringify()方法可以把數(shù)組或?qū)ο筠D(zhuǎn)化為json字符串。
let arr = [1,2,'uu']; let jsonStr = JSON.stringify(arr); console.log(jsonStr); // 字符串:'[1,2,"uu"]' let jsonObj = JSON.parse(jsonStr); console.log(jsonObj); // 數(shù)組: [1,2,'uu']
JS清空數(shù)組的方法
賦值空數(shù)組
let arr = [1,2,3]; console.log(arr); // [1,2,3] arr = []; console.log(arr); // []
修改length屬性
JS數(shù)組的length熟悉可以直接修改。
let arr = [1,2,3]; console.log(arr); // [1,2,3] arr.length = 0; console.log(arr); // []
使用splice方法
JS中數(shù)組自帶的splice()方法用于向數(shù)組中添加或者刪除元素,功能非常強(qiáng)大。
參數(shù)說明如下,返回值為包含被刪除項目的新數(shù)組,如果有的話。
arrayObject.splice(index,howmany,item1,.....,itemX)
參數(shù)名 | 描述 |
---|---|
index | 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
howmany | 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。 |
item1, ..., itemX | 可選。向數(shù)組添加的新項目。 |
let arr = [1,2,3]; console.log(arr); // [1,2,3] let arr2 = arr.splice(0, arr.length); // 刪除所有元素 console.log(arr); // [] console.log(arr2); // [1,2,3]
JS時間和時間戳的轉(zhuǎn)換
JS時間轉(zhuǎn)時間戳
使用Date對象的方法:
let dateObj = new Date(); // Date對象,當(dāng)前時間 // parse()方法,毫秒級別的數(shù)值被轉(zhuǎn)化為000 Date.parse(dateObj); // 1549976497000 // Date對象的valueOf()方法 dateObj.valueOf(); // 1549976497495 // Date對象的getTime()方法 dateObj.getTime(); // 1549976497495 // 轉(zhuǎn)化為Number類型,包括顯式和隱式類型轉(zhuǎn)換 new Number(dateObj); // Number {1549976497495} dateObj - 0; // 1549976497495
JS時間戳轉(zhuǎn)時間
直接將時間戳作為參數(shù)新建一個Date對象即可,支持毫秒和秒。
let timestamp = 1549976497495; let dateObj = new Date(timestamp); // Date對象 dateObj.getTime(); // 1549976497495 timestamp = 1549976497; dateObj = new Date(timestamp); // Date對象 dateObj.getTime(); // 1549976497
JS字符串和時間戳互轉(zhuǎn)
Date()對象的構(gòu)造函數(shù)不僅可以接受表示時間戳數(shù)字類型的參數(shù),還可以接受時間字符串,但是對格式有要求。
let timeStr = '2019-02-02 12:12:12'; let dateObj = new Date(timeStr); dateObj.getTime(); // 1549080732000 dateObj.toDateString(); // Sat Feb 02 2019 dateObj.toString(); // Sat Feb 02 2019 12:12:12 GMT+0800 (中國標(biāo)準(zhǔn)時間) dateObj.toLocaleString(); // 2019/2/2 下午12:12:12 myDate.getYear(); //獲取當(dāng)前年份(2位) myDate.getFullYear(); //獲取完整的年份(4位,1970-????) myDate.getMonth(); //獲取當(dāng)前月份(0-11,0代表1月) myDate.getDate(); //獲取當(dāng)前日(1-31) myDate.getDay(); //獲取當(dāng)前星期X(0-6,0代表星期天) myDate.getTime(); //獲取當(dāng)前時間(從1970.1.1開始的毫秒數(shù)) myDate.getHours(); //獲取當(dāng)前小時數(shù)(0-23) myDate.getMinutes(); //獲取當(dāng)前分鐘數(shù)(0-59) myDate.getSeconds(); //獲取當(dāng)前秒數(shù)(0-59) myDate.getMilliseconds(); //獲取當(dāng)前毫秒數(shù)(0-999) myDate.toLocaleDateString(); //獲取當(dāng)前日期 var mytime=myDate.toLocaleTimeString(); //獲取當(dāng)前時間 myDate.toLocaleString( ); //獲取日期與時間----如果涉及到時分秒,直接使用即可。
關(guān)于JavaScript數(shù)據(jù)類型有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道了解更多相關(guān)知識。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。