js数据类型

Boolean  null  undefined  Number String  Symbol(ECMAScript 2015)

可以通过 typeof检测类型。

var x = 1;
        console.log(typeof x);//number
         
        var a = undefined;
        console.log(typeof a);//undefined
          
        var b = null;
        console.log(typeof b);//object,(null是空对象引用/或者说指针)。
           
        var c = new Object();
        console.log(typeof c);//object
            
        var e = [1,2,3];
        console.log(typeof e);//object 
             
        var d = function(){
                  // ... 语句块
        }
        console.log(typeof d);//function

        var e = {};
        console.log(typeof e); //object

        var f;
        console.log(typeof f);//undefined

        var g = "helloWorld";
        console.log(typeof g);//string

        var h = true;
        console.log(typeof h);// boolean

 1.Number类型

Number类型包含整数和浮点数

NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN   ② NaN不等于自身

var ab = "a1";
console.log(ab/10);// NaN
console.log(NaN == NaN);// false;

isNaN()函数,用于判断是否是一个非数字类型。如果传入的参数是一个非数字类型,那么返回true;否则返回false;

        var num1 = 55;
        console.log(isNaN(num1));    //false
        var num2 ="测试"; 
        console.log(isNaN(num2));    //true
        var num3 ="666";
        console.log(isNaN(num3));  //false

 Infinity 属性用于存放表示正无穷大的数值。

var num4 = 66 / 0;
console.log(num4);//Infinity
console.log(typeof(num4));//number    

数值转换:

Number()转型函数,可以用于任何数据类型;

parseInt(),将值转换为整型,用的比较多;

parseFloat();将值转换为浮点型。

 

2.String类型

字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,defined没有toString()方法)。

var bc = "test";
var bd = null;
var be = undefined;
var ob = {};
console.log(bc.toString()); test
console.log(ob.toString());[object Object]
console.log(typeof ob.toString()); string
//console.log(bd.toString());//error 报错
//console.log(be.toString());//error 报错
console.log("------");
console.log(String(bc)); test
console.log(String(bd)); null
console.log(String(be)); undefined
console.log(String(ob));    [object Object] 

 

3.Null类型

null类型被看做空对象指针,前文说到null类型也是空的对象引用。只有一个值,即null值,所以,在你 用typeof 操作符去检测null类型的值时,结果是object类型。

var test = null;
console.log(typeof test); //object

4.Undefined类型 

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

var name = "test";
var age;
console.log(name);//test
console.log(age);//undefined
//console.log(height);//error,变量height没有声明
console.log(typeof name);//string
console.log(typeof age);//undefined
console.log(typeof height);//undefined,变量height没有声明

 

5.Boolean类型

true 或者false

 

var times = new Date("");
console.log(times); //Invalid Date
console.log(times == null);  //false
console.log(times == "Invalid Date"); //true
console.log(times === "Invalid Date");// false
console.log(typeof times);//object
console.log(times.toString() === "Invalid Date"); //true

var newObj1;/
console.log(newObj1);//undefined
console.log(typeof newObj1);//undefined
console.log(newObj1 == null);//true
console.log(newObj1 == undefined);//true
console.log(newObj1 === null);//false
console.log(newObj1 === undefined);//true

 

var newObj2 = null ;
console.log(newObj2);//null
console.log(typeof newObj2);//object
console.log(newObj2 == null);//true
console.log(newObj2 == undefined);//true
console.log(newObj2 === null);//true
console.log(newObj2 === undefined);//false

//0/0 5/0

var tnum = 5 / 0; 
console.log(tnum); //Infinity
console.log(typeof tnum);//number
console.log(tnum == true);//false
console.log(isNaN(tnum));//false

 

posted @ 2017-09-01 19:06  游侠儿。  阅读(116)  评论(0编辑  收藏  举报