javascript---类型的比较关键字typeof和instanceof

类型的比较关键字typeof和instanceof

在判断类型比较的时候,通常会用到typeofinstanceof,这两个关键字,但是这两个还是有区别的,在java里面也有这样的关键字,就是instanceof,用来判断entity的。

1、typeof

typeof是一个一元运算,放在一个运算数之前,运算数可以是任意类型。它返回值是一个字符串,该字符串说明运算数的类型。typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。 对于Array,Null,DOM对象等特 殊对象使用typeof一律返回object,这正是typeof的局限性,具体的代码和结果。PS:切记,在进行比较的时候,一定要注意大小写,在比较String和string,object和Object是不一样的。

<!DOCTYPE html>
<html>
<head>
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <script>/*@cc_on window.location.href="http://support.dmeng.net/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href); @*/</script>
    <meta charset="UTF-8">
</head>
<body>
<script>
    let array = ["123","234"];
    let object = {age:20,name:"123"};
    let number = 12;
    let str = "123";
    let n ;

    console.log(typeof array);
    console.log(typeof object);
    console.log(typeof number);
    console.log(typeof str);
    console.log(typeof n);
    console.log(typeof array==="object");
    console.log(typeof (array==="object"));

</script>
</body>
</html>

 2、instanceof

instanceof 用于判断一个变量是否某个对象的实例。相对于typeof它更加准确,意思就是typeof只可以判断上面的那几个类型,但是在object里面,array是数组,typeof会识别为object,但是instanceof可以识别为Array。PS:instanceof返回的是Boolean类型的,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。

    console.log(array instanceof Array);
    console.log(array instanceof Object);
    console.log(object instanceof Array);
    console.log(object instanceof Object);

 总结:通过不同的业务进行使用不用的关键字,同时,其实判断是不是Array,Array有一个本身自带的方法可以用来使用,就是Array.isArray();里面的传参就是要判断的变量,返回的Boolean类型的值来判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值