Javascript语法笔记一之typeof与instanceof的用法

本文深入探讨了JavaScript中typeof与instanceof运算符的使用方法,并通过具体示例展示了如何准确判断变量类型,特别是如何区分普通对象与数组。

         这几天在看邱俊涛著的《Javascript核心概念与实践》书籍,及这几天看到前端面试疑难题解析的博文,感觉对Javascript语言编程有一步认识与理解,然后将这些理解分享给大家,希望小编的想法可以正确引导你。不过小编也不排除下面想法可能存在问题,但是博友发现问题请在评论中指出,让你的正确思想正确指导我们,分享你的成就。

一、typeof  与 instanceof 的用法

这里先看一下这两个含义:

typeof  是一个一元的操作符(运算符),一般放在运算数之前,用来判断运算数的类型,返回值是一个字符串,一般只有以下number,boolean,string,function,object,undefined六个字符串。

instanceof也是一个运算符,一般用来判断运算数是不是某一类的实例。 返回值是boolean值。结构列如: O  instanceof  A     O表示运算数,A表示某一类。

下面举例说明:

var a = 1;
var b = 3.21454;
var c = "Hello world!";
var d = [1,2,3];
var e = new Object();
var f = function(){
	console.log("Hello world!");
}

console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
console.log(typeof e);
console.log(typeof f);
运行结果是:

number
number
string
object
object
function

这里大家也看到了d是一个数组Array,但是它typeof运算后也是Object。所以用typeof判断时要注意是否有Array数组。如何判断是否是Array后面小编会说明。现在先看instanceof的例子:

var d = [1,2,3];
var f = function(){
	console.log("Hello world!");
}

var bRes = d instanceof Array;
console.log(bRes);
var bRes = d instanceof Object;
console.log(bRes);
bRes = f instanceof Function;
console.log(bRes);
bRes = f instanceof Object;
console.log(bRes);
bRes = Array instanceof Object;
console.log(bRes);
bRes = Function instanceof Object;
console.log(bRes);
结果:

true
true
true
true

true

true

没有看错,它全部都是正确的,因为在Javascript语言中,可是这样将一切都是对象。  

上面不是还没有讲述如果判断Array吗?  只要结合typeof与instanceof一起使用就可以正确判断。


注:这里还有一个特殊:

console.log(typeof null);
console.log(typeof undefined);

结果是: Object

undefined

小编先写这里,如果有不对的地方,望博友们可以评论提出,谢谢!










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值