文章目录
- 数据类型
- 基本类型(简单类型)
- 1.数字类型(number)
- 2.字符串(string)
- 3.布尔类型(boolean)
- 4.特殊类型
- undefined
- null
- 引用类型
- 总结
- 检查变量的数据类型
- NaN和isNaN
- 一.NaN
- 二.isNaN
- 三.Number.isNaN
数据类型
声明的任何一个变量的值,它的类型必须是下面的几种情况之一。
基本类型(简单类型)
1.数字类型(number)
二进制数字:计算机识别的0和1组成,二进制数组0b开头的
var n1 = 0b00000100;
console.log(n1); //4
八进制数字:0-7组成,0开头的数字
var n2 = 017;
console.log(n2);//15
十进制数字:生活中的数字,0-9组成
var n3 = 100;·
console.log(n3); //100
十六进制数字:0-9 a-f组成,0x开头的数字
var n4 = 0x111;
console.log(n4); //273
2.字符串(string)
包裹在引号里面的内容,单引号或者双引号都可以。
注意:单引号里面可以嵌套双引号,反之也行。
console.log(‘我是中国人’);
console.log(“我是中国人”);
console.log(“我是’中国’人”); //我是’中国’人
console.log(‘1+2’); //1+2
3.布尔类型(boolean)
只有两个值,一个是真true,一个是假false
console.log(3 > 2); //true
console.log(3 > 20); //false
4.特殊类型
undefined
表示未初始化或者未赋值,或者属性值不存在…
var a;
console.log(a); //undefined
console.log(window.hehe); //属性值不存在undefined
null
表示空对象
var a = null;
console.log(a); //null
**注意:**为什么叫特殊类型,在其他语言里面null和undefined是相同的
引用类型
复杂类型,对象类型 - (了解一下就好)
object: 对象
var a = []; //数组对象
var b = {}; //自定义对象
var c = null; //空对象
总结
基本类型5种:number/string/boolean/null/undefined
引用类型1种:object
检查变量的数据类型
typeof操作符/关键字
typeof输出的值是字符串类型
var a = 1;console.log(typeof a); //numberconsole.log(typeof typeof a); //string 注意:只要两个typeof连用,返回的结果一定是字符串格式var b = 'hello';var c = true;var d = null;var e = undefined;console.log(typeof b); //stringconsole.log(typeof c); //booleanconsole.log(typeof d); //object对象类型console.log(typeof e); //undefined//typeof还有一种写法,将检查的值写在typeof后面的括号里面console.log(typeof(a));console.log(typeof(b));console.log(typeof(c));console.log(typeof(d));console.log(typeof(e));
NaN和isNaN
一.NaN
当数学计算没有得到结果,输出NaN(NaN是关键字)
console.log(‘zhangsan’ - ‘lisi’); //NaN
console.log(‘zhangsan’ * ‘lisi’); //NaN
二.isNaN
无需对象引用,直接使用的方法。
可以使用isNaN这个方法来判断一个括号里面的值是不是非数字,返回布尔值。
不是数字,输出true
是数字,输出false
var n1 = 100;
var n2 = ‘hello’;
console.log(isNaN(n1)); //false
console.log(isNaN(n2)); //true
console.log(isNaN(‘jack’)); //true
三.Number.isNaN
可以使用Number.isNaN这个方法来判断一个变量是不是NaN
变量的值是不是NaN
console.log(Number.isNaN(NaN)); //true
console.log(Number.isNaN(100)); //false
console.log(Number.isNaN(‘a’ - ‘b’)); //true