typeof的取值类型范围 以及typeof和instanceof的区别

typeof的取值类型

  1. “undefined”——如果这个值未定义:
 alert(typeof(a)); 
  1. “boolean”——如果这个值是布尔值:
alert(typeof(true));
alert(typeof(false));
  1. “string”——如果这个值是字符串:
alert(typeof('abc'));
  1. “number”——如果这个值是数值,NaN本身也属于数字类型:
 alert(typeof(10));
 alert(typeof(NaN));
  1. “object”——如果这个值是对象或null:
alert(typeof([1,2,3]));
alert(typeof(null));
  1. “function”——如果这个值是函数:
 alert(typeof(Date));
  1. “symbol”——Es6新增的类型:
alert(typeof symbol);

typeof和instanceof的区别

typeof:在 JavaScript 中,typeof运算符返回一个用来表示表达式的数据类型的字符串。判断一个变量的类型常常会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。

var b=true;
    console.log(typeof b);//'boolean'
    var c="";
    console.log(typeof c);//'String'
    var d=1;
    console.log(typeof d);//'Number'
    var e,f=undefined;
    console.log(typeof e,typeof f);//'undefined' 'undefined'
    var a=null;
    console.log(typeof a);//'object'
    var obj={};
    console.log(typeof obj);//'object'
    var arr=[1,2,3];
    console.log(typeof arr);//'object'
    var fn=function(){
        alert("aaa");
    }
    console.log(typeof fn);//'function'

instanceof:用来检测某个对象是不是另外一个对象的实例,用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

var obj={
            b1:[1,console.log],
            b2:function(){
                alert(111);
            }
        }

    console.log(obj  instanceof  Object); //true
    console.log(obj.b1  instanceof  Object,obj.b1  instanceof Array);//true true
    console.log(obj.b2  instanceof  Object,obj.b2  instanceof Function);//true true
    var a=null;
    console.log(a  instanceof  Object);//false
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值