关于js的数据类型

一:js的数据类型

1:基本数据类型:number string boolean null undefined

2:复杂数据类型:Array Function Objeck Data Math RegExp(正则表达式) Number String Boolean

二:检测的方法

1:数据类型
typeof :检测所有的基本数据类型的方法,除null 之外,还有function
用法:typeof(需要检测的数据类型)
2检测数组
第一种:isArray()
// isArray()
var arr = [10,20,30];
console.log(Array.isArray(arr));//true
第二种:instanceof :用来检测数组不是很严谨
// instanceof()
var arr1 = [10,20,30];
console.log(arr1 instanceof Array);//true
第三种 toString();
用法:Object.prototype.toString.call(需要检测的数据类型)
// toString()
console.log(Object.prototype.toString.call(1));//'[object Number]';
console.log(Object.prototype.toString.call('a'));//'[object String]';
console.log(Object.prototype.toString.call(true));//'[object Boolean]';
console.log(Object.prototype.toString.call(undefined));//'[object undefined]';
console.log(Object.prototype.toString.call(null));//'[object null]';
console.log(Object.prototype.toString.call([1,2,3]));//'[object Array]';
console.log(Object.prototype.toString.call(new Object());//'[object Object]';
console.log(Object.prototype.toString.call(function(){});//'[object function]';

三 :关于null not is anumber(不是一个数字)

    //不是一个类型,是一个数值, 是number数据类型中的一个数值.
    isNaN(); 用来判断一个数值是否是数字.
    //如果你是一个数字,就不是一个NaN,那么isNaN就是一个false.
    console.log(isNaN(100)); //false
    //如果你是不是一个数字,就是一个NaN,那么isNaN就是一个true
    console.log(isNaN('abc'));//true
    //检测的时候,会有一个隐式类型转换
    console.log(isNaN('100'));//false

四:基本包装类型–>Number

// var num = 123;
    // num.toString() //为什么num是一个基本数据类型,能点出方法来?
    //系统会做一个事情.
     var num = new Number(123);
     console.log(num);
     console.log(num.toString()); //'123'
    // //如果要取到基本包装类型中的真实的数值,使用valueOf;
     console.log(num.valueOf()); //123

五:Boolean

 var b1 = true;
 b1.toString();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章