简单类型
数据是分类型的,JavaScript里面有两种大类型:简单(值)和复杂(引用)
简单类型分为:数字、字符串、布尔、null、undefined
数值
其实就是数字,就是整数、小数、负数….
小数相加可能会有bug
console.log(0.1 + 0.2); // 不是0.3 , 是一个不准确的数字
字符串
字符串主要作用就是用来表示文本的,单词、字母、汉字、文章、名字…
固定格式 '' 或者 " "
'字符'
"字符"
在js的语法中,已经使用了引号来做为格式了
如果我们就是要输出一个引号,不使用特殊的手段是做不到的,如果希望引号里面出现引用
// 1.嵌套引号 (在""里面嵌套''单引号,或者在''里面嵌套双引号"")
console.log('<div id="box"></div>');
// 2 转义字符 (如果""里面嵌套的也是"" 可以在"前面加\斜杆转义字符,单引号也是同理)
console.log("<div id=\"box\"></div>")
布尔
是在编程中专门为了表示条件结果的,只有两个值: true 和 false
true - 表示结果成立,为真
false - 表示结果不成立,为假
var result = 4 > 5;
console.log(result);// false ,因为 4 > 5 不成立
var res = 5 < 6;
console.log(res); // true 因为 5 < 6 成立
null
null —— 空 , 什么都没有 , 通常也是不会主动使用,而是得到的一个结果是null
prompt(‘输入框’); // 如果点击了取消,就是 null
undefined
undefined —— 未定义 ,一般很少主动使用,知道是未定义的意思就行
通常就是我们声明了变量但是没有赋值,就是undefined
复杂类型
typeof判断基本类型
如何得知一个数据是什么类型typeof是一个可以返回数据类型结果的关键字
可以使用typeof获取数据的类型用法有两种:
typeof 数据;
typeof(数据);
console.log(typeof 123);// number
console.log(typeof 'abc');//string
console.log(typeof true); // true
console.log(typeof undefined); // undefined
console.log(typeof null)//object
类型转换
在js中,数据类型是可以相互转换的
主要是三大类:转成数字、转成字符串、转成布尔
把其他转成数字: Number(数字) 、 parseInt(整数) 、 parseFloat(小数)
把其他转成字符串:String() 、 数据.toString()
把其他转成布尔: Boolean()
把其他转换为数字
Number(数据) // 把其他的类型转换为数字
parseInt(数据) // 把字符串转换为整数
parseFloat(数据) // 把字符串转换为小数
var result = Number('3000'); // 3000
parseInt('1.22') // 1
parseFloat('1.22') // 1.22
其他转字符串
String(数据)
数据.toString() // 小数和null、undefined在使用的时候要小心
var res1 = String(123);
console.log(res1); // 输出字符串的 123
console.log(typeof res1); // 输出 string
var res2 = String(true);
console.log(res2); // 输出字符串的 true
console.log(typeof res2); // 输出 string
var res3 = (123).toString();
console.log(res1); // 输出字符串123
console.log(typeof res1); // 输出string
var res4 = undefined.toString();
console.log(res3); // 报错:Cannot read property 'toString' of undefined
var res5 = null.toString();
console.log(res4); //报错: Cannot read property 'toString' of null
转换为布尔
Boolean(数据);
只有以下几个是false,其他都是true
console.log(Boolean(0));
console.log(Boolean(''));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(false));
console.log(Boolean(NaN));