JavaScript回顧與學習——數據類型

1、數據類型:number、string、Boolean、Object、Array、function、undefined、null數組

/*
** 全部的數據類型
*/
// 一、數字(number)類型
var num = 1;
console.log(typeof num); // number

// 二、字符串(string)類型
var str = "sunsumei";
console.log(typeof str); // string

// 三、布爾(boolean)類型
var boo = true;
console.log(typeof boo); // boolean

// 四、對象(Object)類型
var obj = {};
console.log(typeof obj); // Object

// 五、數組(Array)類型
var arr = [];
console.log(typeof arr); // Object
console.log(arr instanceof Array); // true

// 六、函數(Function)類型
var fn = function(){};
function fn(){};
console.log(typeof fn); // function
console.log(fn instanceof Function); // true

// 七、undefined類型
var un;
console.log(typeof un); // undefined

// 八、null類型
var nu = null;
console.log(typeof nu); // Object

2、數據類型轉換:隱式、顯示(強制)函數

/*
** 基本數據類型轉換-隱式
*/
// 一、數字類型/undefined/null----布爾類型
var num; // undefined -> false
num = 0; // false
num = 0.0; // false
num = NaN; // false
num = -1; // true
num = 1; // true
num = null; //false
num = ''; // false
if(num){
console.log(true);
}else{
console.log(false);
}

// 二、數字----字符串
var num = "21";
console.log(1 + num); // 121

// 三、字符串----數字
var str = '12';
console.log(typeof str); // string
str = 1 * num;
console.log(typeof str); //number

/*
** 基本數據類型轉換-顯示轉換(強制轉換)
*/
// 一、Boolean()函數轉換-->其餘類型轉換爲布爾類型
var test = Boolean(); // false
test = Boolean(0); // false
test = Boolean(0.0); // false
test = Boolean(''); // false
 
test = Boolean(1); // true
test = Boolean("1.1"); // true
console.log(test);

// 二、Number()函數轉換 -->其餘類型轉換爲數值類型
var test1 = Number(123); // 123
test1 = Number(false); // 0
test1 = Number(true); // 1
test1 = Number(undefined); // NaN
test1 = Number(null); // 0
test1 = Number("24k"); // NaN
test1 = Number("24"); // 24
console.log(test1);

// 三、String()函數 -->其餘類型轉換爲字符串類型
var test2 = 11;
console.log(typeof test2); // number
test2 = String(test2);
console.log(typeof test2); // string

test2 = true;
console.log(typeof test2); // boolean
test2 = String(test2);
console.log(typeof test2); // string

test2 = undefined;
console.log(typeof test2); // undefined
test2 = String(test2);
console.log(typeof test2); // string

test2 = null;
console.log(typeof test2); // object
test2 = String(test2);
console.log(typeof test2); // string

// 四、parseInt()函數 -->其餘類型轉換爲整型數字類型
var test3 = parseInt('3.14'); // 3
test3 = parseInt('4.99'); // 4
test3 = parseInt('24k'); // 24
test3 = parseInt('24.1k'); // 24
test3 = parseInt('SB'); // NaN
test3 = parseInt('0xfff'); // 4095 傳入16進制
test3 = parseInt('0237'); // 237 傳入8進制
test3 = parseInt(22,16); // 34 轉換爲16進制輸出
test3 = parseInt(22,8); // 18 轉換爲9進制輸出
test3 = parseInt(22,2); // NaN 不能轉換爲2進制
test3 = parseInt(true); // NaN
test3 = parseInt('true'); // NaN
test3 = parseInt('tr8ue01'); // NaN
test3 = parseInt('8true01'); // 8
console.log(test3);

// 五、parseFloat()函數 -->其餘類型轉換爲浮點型數字類型
var test4 = parseFloat('3.14'); // 3.14
var test4 = parseFloat('2.99'); // 2.99
var test4 = parseFloat('3.14p'); // 3.14
var test4 = parseFloat('24K'); // 24
var test4 = parseFloat('K24'); // NaN
var test4 = parseFloat(true); // NaN
console.log(test4);
相關文章
相關標籤/搜索