返回一个布尔值,该值指示一个对象是否为特定类或构造函数的一个实例。
object instanceof class
参数
object
必选。任何对象表达式。
class
必选。任何对象类或构造函数。
备注:如果 object 是 class 或构造函数的实例,则 instanceof 运算符返回 true。如果 object 不是指定类或函数的实例,或者 object 为 null,则返回false。
JScript Object 很特殊。当且仅当对象用 Object 构造函数构造时,对象才被视为 Object 的实例。
示例1
下面的示例阐释使用 instanceof 运算符检查变量的类型。
// This program uses System.DateTime, which must be imported. import System function isDate(ob) : String { if (ob instanceof Date) return "It's a JScript Date" if (ob instanceof DateTime) return "It's a .NET Framework Date" return "It's not a date" } var d1 : DateTime = DateTime.Now var d2 : Date = new Date print(isDate(d1)) print(isDate(d2))
该代码的输出为:
It's a .NET Date It's a JScript Date
示例2
下面的示例阐释使用 instanceof 运算符检查构造函数的实例。
function square(x : int) : int { return x*x } function bracket(s : String) : String{ return("[" + s + "]"); } var f = new square print(f instanceof square) print(f instanceof bracket)
该代码的输出为:
true false
示例3
下面的示例阐释 instanceof 运算符如何检查对象是否为 Object 的实例。
class CDerived extends Object { var x : double; } var f : CDerived = new CDerived; var ob : Object = f; print(ob instanceof Object); ob = new Object; print(ob instanceof Object);
该代码的输出为:
false true