# IsObject

如果指定的值是对象, 则返回非零数字.

    Boolean := IsObject(Value)

## 参数

Value

  类型: Any

  要检查的值.

## 返回值

类型: 整数(布尔值)

如果 Value 是一个对象, 函数返回 1(true), 否则, 返回 0(false).

## 备注

任何不是原始值(数字或字符串) 的值都被认为是对象, 包括那些不是从 Object 派生的值, 例如 COM 封装对象. 之所以有这种区别, 是因为对象与原始值相比有几个共同的特征:

- 每个对象都是动态分配和引用计数的. 任意数量的变量, 属性或数组元素都可以引用同一个对象. 对于不可变值, 这种区别并不重要, 但对象可以具有可变属性.
- 每个对象都有一个唯一的地址, 这也是一个与 IDispatch 兼容的接口指针.
- 只有在是同一对象时, 一个对象与另一个值比较才比较相等.
- 对象不能隐式地转换为字符串或数字.

## 相关

Objects

## 示例

报告 "This is an object." 因为值是对象.

    obj := {key: "value"}

    if IsObject(obj)
        MsgBox "This is an object."
    else
        MsgBox "This is not an object."

dftg