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]"
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。