JS---数据类型

数据类型

引用类型是存放在堆内存中的。变量实际上是一个存放在栈内存的指针,指向堆内存中的地址。

基本类型和引用类型的区别

1、存储位置不同。
基本类型存放在栈内存中。引用类型存放在堆内存中。
栈内存中还有引用类型的地址。
2、传值与传址。
基本类型采用值传递。
引用类型采用地址传递。

数据类型的判断

1、typeof

       console.log(typeof 2);//number  
       console.log(typeof null);//object  
       console.log(typeof {});//object  
       console.log(typeof []);//object  
       console.log(typeof (function(){}));//function  
       console.log(typeof undefined);//undefined  
       console.log(typeof 'www');//string  
       console.log(typeof true); // boolean   

2、instanceof 对象类型的检测
用于判断一个变量是否是某个对象的实例。

        function Dog(){
            
        }
        var dog = new Dog();
        console.log(dog instanceof Dog);//true

3、Object.prototype.toString.call()

        console.log(Object.prototype.toString.call('str')); //[object String]
        console.log(Object.prototype.toString.call(12)); // [object Number]
        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({}));// [object Object]
        console.log(Object.prototype.toString.call([]));// [object Array]
        console.log(Object.prototype.toString.call(function(){}));// [object Function]

4、constructor

var obj = new Object();
console.log(  obj.constructor === Object); // true

你可能感兴趣的:(JS---数据类型)