30
2017
03

js中判断一个对象的类型

as里边判断一个变量是不是某个类的实例,直接用 is 就行。

比如 

var a:Sprite=new Sprite();
trace(a is Sprite);

js里边没有 is 关键字,常用的替代方法是 instanceof ,对于new出来的实例,用instanceof可以,但是如果是简单类型,直接定义的,就识别不出来了。

比如:

var a=1.2;
console.log(a instanceof Number);//输出为false
var b="";
console.log(b instanceof String);//输出为false
var c=new Number();
console.log(c instanceof Number);//输出为true
var d=new String();
console.log(d instanceof String);//输出为true

Object.prototype.toString.call()。

比如:

var a=1.2;
Object.prototype.toString.call(a);//输出"[object Number]"
var b="";
Object.prototype.toString.call(b);//输出"[object String]"
var arr=[];
Object.prototype.toString.call(arr);//输出"[object Array]"
var d=new Date();
Object.prototype.toString.call(d);//输出"[object Date]"

但是无法判断自定义的类的实例。

比如:

function A(){}
var a=new A();
Object.prototype.toString.call(a);//输出"[object Object]"

参考:http://www.cnblogs.com/ww-ervin-72/p/5103540.html

« 上一篇下一篇 »

相关文章:

显示fps  (2020-1-19 9:16:17)

js保留有效数字  (2019-7-30 15:32:12)

js的parseInt方法  (2019-2-15 9:12:44)

闪电效果  (2017-11-28 15:4:19)

解九连环  (2016-12-1 20:58:11)

DataURL与File,Blob,canvas对象之间的互相转换的Javascript  (2016-11-25 14:58:41)

js生成条形码-barcode  (2016-10-12 15:59:51)

GeoJSON格式  (2016-9-23 13:28:44)

使用Typescript开发基于createjs的项目  (2016-8-25 9:54:40)

github上一个js实现的编译器  (2016-8-17 14:32:19)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。