一、数据类型
1.1 原始类型5种:
数值型number、字符串型string、布尔型boolean、未定义型undefined、空null
1. 字符串型string
任意的数据被引号包含就是字符串型,不区分单双引号
typeof数据 检测数据
// 1. typeof数据 检测数据类型
var str1 = "1";
var str = 1;
console.log(typeof str1); //string
console.log(typeof str); //number
// 2. 查看任意一个字符的Unicode码
console.log('码'.charCodeAt()); //30721
2. 布尔型boolean
在程序中表示真或假 true false
常用于存储一些是否的结果,如:是否注册、是否登录、是否为会员;
3. undefined
// 布尔型
var bool1 = true;
var bool2 = 2>3;
console.log(bool1); //true
console.log(typeof bool1); //boolean
1.2 数据类型转换
1. 隐式转换
① 数字 + 字符串 数字被转成了字符串类型
var a = 2;
var b = '3';
console.log(a+b,typeof(a+b)); //23 string
console.log(2+3,typeof(2+3)); //5 "number"
② 数字 + 布尔值 布尔值被转成了数字 true ->1 false ->0;
console.log(2 + true); //3
console.log(2 + false); //2
③ 字符串 + 布尔值 布尔值转换成字符串类型
console.log('b'+true,typeof('b'+true)); //btrue string
④ JS中加号(+)的作用有2种
执行加法运算、执行字符串拼接
⑤ 使用- * /执行运算
将运算符两端的非数字转为数字,最终运算结果还是数字;
转数字的过程中自动调用Number
console.log('2'-3); //-1
console.log('2a'-3); //NaN
console.log('2'*'3'); //6
console.log(true/'2'); //0.5
2. 强制转换
① 将任意类型转为数值 Number
// 强制转为数值型
var n1 = Number('2'); //2
var n2 = Number(true); //1
var n3 = Number('2a'); //NaN
var n4 = Number(undefined); //NaN
var n5 = Number(null); //0
console.log(n1,n2,n3,n4,n5);
如果要转的字符串含有非数字,则返回NaN(Not a Number)
undefined -> NaN
null -> 0
② 将任意数据转为整型 parseInt(数据)
parseInt 向下取整
// 强制转换为整型
console.log(parseInt('2.3c')); //2
console.log(parseInt('c2.3')); //NaN
console.log(parseInt(true)); //NaN
console.log(parseInt(null)); //NaN
console.log(parseInt(undefined)); //NaN
如果字符串以非数字开头,则返回NaN,布尔型,undefined,null返回NaN。
③ 将任意数据转为浮点型 parseFloat(数据)
// 将任意数据强制转为浮点型
console.log( parseFloat('2.3c') ); //2.3
和parseInt用法几乎一致,只是返回时是浮点型。
备注:用的比较多是转为数值、布尔、字符串
④ 将数值型转为字符串类型
转换为字符串的同时,可以设置要转换的进制。
// 将数值转为字符串
var num = 12;
var value = num.toString();
console.log(value, typeof value); //12 string
var value = num.toString(8);
console.log(value, typeof value); //14 string
var value = num.toString(16);
console.log(value, typeof value); //c
var value = num.toString(2);
console.log(value, typeof value); //1100 string