溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript數(shù)據(jù)類型有哪些

發(fā)布時間:2021-03-19 15:18:28 來源:億速云 閱讀:143 作者:Leah 欄目:web開發(fā)

JavaScript數(shù)據(jù)類型有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

js的基本數(shù)據(jù)類型有哪些?

ECMAScript中有5中簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型): Undefined、Null、Boolean、Number和String。還有1中復雜的數(shù)據(jù)類型————Object,Object本質上是由一組無序的名值對組成的。

其中Undefined、Null、Boolean、Number都屬于基本類型。Object、Array和Function則屬于引用類型,String有些特殊

JS數(shù)組,字符串,json互相轉換

JS數(shù)組轉字符串

使用數(shù)組自帶的join方法可以把數(shù)組轉化為字符串:

let arr = [1,2,'uu'];
let str = arr.join(',');
console.log(str); // 1,2,uu

如果素組元素包含對象,則調用對象的toString()方法將對象轉化為字符串。

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()方法內部實現(xiàn)就是join.

[1,1,[2,2,[3,3,3]]] + ""; // 1,1,2,2,3,3,3

字符串轉數(shù)組

使用字符串自帶的split方法可以把字符串分割為數(shù)組。

let str = '1,2,uu';
let arr = str.split(',');
console.log(arr); // ["1", "2", "uu"]
str

數(shù)組轉json字符串,json字符串轉數(shù)組

使用JSON.parse()方法可以解析json字符串轉化為相應的json對象(包括數(shù)組),使用JSON.stringify()方法可以把數(shù)組或對象轉化為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ù)組中添加或者刪除元素,功能非常強大。

參數(shù)說明如下,返回值為包含被刪除項目的新數(shù)組,如果有的話。

arrayObject.splice(index,howmany,item1,.....,itemX)

參數(shù)名描述
index必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結尾處規(guī)定位置。
howmany必需。要刪除的項目數(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時間和時間戳的轉換

JS時間轉時間戳

使用Date對象的方法:

let dateObj = new Date(); // Date對象,當前時間

// parse()方法,毫秒級別的數(shù)值被轉化為000
Date.parse(dateObj); // 1549976497000

// Date對象的valueOf()方法
dateObj.valueOf(); // 1549976497495

// Date對象的getTime()方法
dateObj.getTime(); // 1549976497495

// 轉化為Number類型,包括顯式和隱式類型轉換
new Number(dateObj); // Number {1549976497495}
dateObj - 0; // 1549976497495

JS時間戳轉時間

直接將時間戳作為參數(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字符串和時間戳互轉

Date()對象的構造函數(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 (中國標準時間)
dateObj.toLocaleString(); // 2019/2/2 下午12:12:12

myDate.getYear(); //獲取當前年份(2位)
myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數(shù)) 
myDate.getHours(); //獲取當前小時數(shù)(0-23)
myDate.getMinutes(); //獲取當前分鐘數(shù)(0-59)
myDate.getSeconds(); //獲取當前秒數(shù)(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(shù)(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間----如果涉及到時分秒,直接使用即可。

關于JavaScript數(shù)據(jù)類型有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI