js 基本数据类型

6种数据类型

基本数据类型
String 字符串
Number 数字类型
Boolean 布尔值
Null 空值 表示非对象
Undefined 未定义的值,表示未赋值的初始化值
引用数据类型
Object 泛指对象 包括狭义的对象Object、数组Array和函数Function。

检测数据类型
typeof 运算符可以检测数据的基本类型。
1、 对于数字类型的值,typeof会返回number,注意:NaN本身也是一个数字类型,因为它在JavaScript中代表的是特殊非数字值。
在JavaScript中,特殊的数字类型还有几种:
Infinity 表示无穷大特殊值
NaN            特殊的非数字值
Number.MAX_VALUE     可表示的最大数字
Number.MIN_VALUE     可表示的最小数字(与零最接近)
Number.NaN         特殊的非数字值
Number.POSITIVE_INFINITY 表示正无穷大的特殊值
Number.NEGATIVE_INFINITY 表 示负无穷大的特殊值

console.log(typeof 123);   //'number'
console.log(typeof NaN);   //'number'
console.log(typeof(Number.MIN_VALUE));  // number
console.log(typeof(Infinity));      // number 

2、 对于字符串类型的值,typeof会返回string。

console.log(typeof '123');  //'string'

3、 对于布尔类型的值,typeof会返回boolean。

console.log(typeof(true));  //'boolean'

4、 对于对象,数组,null而言,typeof会返回object

console.log(typeof []);   //'object'
console.log(typeof {});   //'object'
var obj = new String();
console.log(typeof obj);    //'object'
console.log(typeof window);  // object
console.log(typeof document); // object
console.log(typeof null);  //'object'  

5、 对于函数类型而言,typeof返回function

var fn = function(){};
console.log(typeof fn);  //'function'
console.log(typeof(class c{}));  //'function'
console.log(typeof Array);   //'function'
console.log(typeof eval);  // function
console.log(typeof Date); // function

6、 如果运算数没有定义(未定义或者未初始化),将会返回undefined。

console.log(typeof a);    //'undefined'
console.log(typeof undefined); // undefined

总结

1、undefined,null,空字符串(‘’),0,NaN都等于false,都可以通过!来取反。 (if语句)

2、未初始化的变量和未声明的变量的typeof操作都返回undefined。

3、NaN ①任何涉及NaN的操作都会返回NaN。②NaN对任何值都不相等,包括自己NaN本身。

console.log(typeof NaN == NaN);    //false

JS内置了isNaN()函数,来确定数值是不是NaN类型。

isNaN() 函数用于检查其参数是否是非数字值。
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

console.log(isNaN(0));//false
console.log(isNaN("Hello"));//true

你可能感兴趣的:(js 基本数据类型)