js基本数据类型
5种基本数据类型: number、boolean、undefined、null、string
1 number类型
number: 数值类型, 包含整型、浮点型、NaN和Infinity
定义一个整型:
var age = 18;
console.log(age); // 输出:18
console.log(typeof age); // 输出:number
定义一个浮点型:
var price = 12.8;
console.log(price); // 输出:12.8
console.log(typeof price); // 输出:number
注意: 浮点运算并不总是100%准确。
这是由于计算机底层结构带来的问题 有兴趣的朋友可以自行查阅资料
切记: 不要做小数点的比较!!!
var sum = 0.1 + 0.2;
console.log(sum); // 输出:等于0.3吗???
Infinity正无穷大
var max = 1/0;
console.log(max); // 输出:Infinity
console.log(typeof max); // 输出:number
NaN全称: NOT A NUMBER
即并非一个数字 但它任然是number类型
注意:NaN与任何数字进行算术运算,得到的结果都是NaN。
var num = Number("111a");
Number(value), 此处是把字符串转化为number类型
console.log(num); // 输出: NaN
console.log(isNaN(num)); // 输出: true, 判断num是不是NaN类型
console.log(typeof num); // 输出: number
2 boolean类型
boolean: 布尔类型,布尔类型只有两个值:true 和 false true: 表示为真 false: 表示为假
var flag1 = true;
console.log(flag1); // 输出:true
console.log(typeof flag1); // 输出:boolean
var flag2 = false;
console.log(flag2); // 输出:false
console.log(typeof flag2); // 输出:boolean
3 undefined类型
undefined类型只有一个值,就是undefined 表示已声明但未赋值的变量
var num;
console.log(num); // 输出: undefined
console.log(typeof num); // 输出: undefined
4 string类型
string类型就是字符串,用双引号("")或单引号('')包裹的字符集合。
// var str = "Hello Word!";
var str = 'Hello Word!';
console.log(str); // 输出:"Hello Word!"
console.log(typeof str); // 输出:string
字符串简单使用:字符串的拼接,可以用“+”来做拼接。
var str1 = "Hello";
var str2 = " World!";
var str3 = str1 + str2;
console.log(str3); // 输出:"Hello Word!"
5 null类型
null类型只有一个值,就是null,从逻辑角度看,null值表示一个空对象指针。
本质上null的存在是一个bug,因为当初设计JavaScript这门语言的时候比较仓促,后来发现的时候已经好多开发者在使用了,如果修改这个bug对原有项目的代码改动极大,所以就只能将错就错了。 所以使用typeof操作符检测null会返回object的原因,因为null表示的是一个空对象的指针。
var obj = null; console.log(obj); // 输出:null console.log(typeof obj); // 输出:object