一、数据类型:number、string、Boolean、Object、Array、function、undefined、null
/*
** 所有的数据类型
*/
// 1、数字(number)类型
var num = 1;
console.log(typeof num); // number
// 2、字符串(string)类型
var str = “sunsumei”;
console.log(typeof str); // string
// 3、布尔(boolean)类型
var boo = true;
console.log(typeof boo); // boolean
// 4、对象(Object)类型
var obj = {};
console.log(typeof obj); // Object
// 5、数组(Array)类型
var arr = [];
console.log(typeof arr); // Object
console.log(arr instanceof Array); // true
// 6、函数(Function)类型
var fn = function(){};
function fn(){};
console.log(typeof fn); // function
console.log(fn instanceof Function); // true
// 7、undefined类型
var un;
console.log(typeof un); // undefined
// 8、null类型
var nu = null;
console.log(typeof nu); // Object
二、数据类型转换:隐式、显示(强制)
/*
** 基本数据类型转换-隐式
*/
// 1、数字类型/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);
}
// 2、数字—-字符串
var num = “21”;
console.log(1 + num); // 121
// 3、字符串—-数字
var str = ’12’;
console.log(typeof str); // string
str = 1 * num;
console.log(typeof str); //number
/*
** 基本数据类型转换-显示转换(强制转换)
*/
// 1、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);
// 2、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);
// 3、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
// 4、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);
// 5、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);