如果指定的值派生自指定的基对象, 则返回非零数字.
HasBase := HasBase(Value, BaseObj)
任何类型的任何值.
类型: 对象
要测试的潜在基对象.
类型: 整数(布尔值)
如果 BaseObj 在 Value 的基对象链中, 函数返回 1(true), 否则返回 0(false).
下面的代码大致相当于这个函数:
MyHasBase(Value, BaseObj) { b := Value while b := ObjGetBase(b) if b = BaseObj return true return false }
例如, 如果 Obj 是数组或任何派生类的实例, 则 HasBase(Obj, Array.Prototype)
为 true. 这与 Obj is Array
执行的检查相同; 但是, 实例可以基于其他实例, 而 is
需要一个类.
HasBase 同时接受对象和原始值. 例如, HasBase(1, 0.base)
返回 true.
Objects, Obj.Base, ObjGetBase, HasMethod, HasProp