1.is运算符是ActionScript 3.0中的新增运算符,用来测试变量或表达式是否为给定的数据类型。is运算符检查正确的继承层次结构,不但能够检查对象是否为特定类的实例,而且还可以检查对象是否是用来实现特定接口的类的实例。早期版本中的instanceof运算符已不再使用。
2.与is运算符不同的是,as运算符不返回布尔值,而是返回表达式的值(代替true)或null(代替false)。在使用as运算符时,右侧的操作数必须是数据类型。如果尝试使用表达式(而非数据类型)作为右侧的操作数,将会产生错误。
3.用法为typeof expression,计算表达式expression并返回其数据类型的字符串。结果限制在6个可能的字符串值:boolean、function、number、object、string和xml。如果向用户定义的类应用此运算符,则结果为字符串object。之所以包括typeof运算符是为了向后兼容。使用is运算符可以检查类型是否兼容
4.用法expression1 in expression2计算属性是否为特定对象的一部分。若使用in运算符,要将属性名指定为第一个操作数,并将对象指定为第二个操作数。如果expression1是由expression2表示的对象的属性,则值为true,否则为false。
如果指定的对象是Array对象,则可以使用in运算符来检查特定的索引编号是否有效。如果向第一个操作数传递整数,那么,当索引位于有效的索引编号范围内时,结果为true,否则为false。
5.使用is运算符检查对象是否为特定数据类型的成员。当与类一起使用时,instanceof运算符类似于is运算符,因为类的原型链包括其所有超类。
但是,原型链上不包括接口,因此当与接口一起使用时,instanceof运算符的结果始终为false,而is运算符的结果为true(如果对象属于实现指定接口的类)。