容易搞混的JavaScript方法:typeof和instanceof

本文解析了JavaScript中容易混淆的typeof与instanceof方法。typeof返回变量的数据类型,包括number、string等六种类型;instanceof则判断一个对象是否为某个构造函数的实例,返回布尔值。

容易搞混的JavaScript方法:typeof和instanceof

2011 年 09 月 28 日 by Ryan | 1 CommentViews: 94 Today Views: 1

我经常被JavaScript中的typeof和instanceof搞混的,所以认真地看了一遍。希望以后不要再忘记了。

Typeof()

1

2

3

4

5

6

7

8

//typeof() 返回6种数据类型 : number、string、boolean、object

//function和undefined。

var a = "string";

typeof(a) // outpout "String"

var fn = function () {}; //output "function"

typeof(fn) //output "function"

Instanceof()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//instanceof()返回一个Boolean值。用来检测6种基本类型之一的object

//是不是某一对象(构造方法)产生的实例。用于追溯原型链。

//网上找了一个例子

var a = function () {};

var b = function () {};

b.prototype = new a;

var c = new b;

var d = new a;

alert(c instanceof a); //true

alert(d instanceof a); //true

alert(a instanceof Function); //true

alert({} instanceof Function); //false

a.prototype = {}; //改变原型链

alert(c instanceof a); //false

alert(d instanceof a); //false

Categories: Javascript | Tags: instanceof, prototype, typeof | Permalink

 

原文地址:http://www.coolicer.com/2011/09/28/javascript-typeof-and-instanceof.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值