此函数可用于获取用于创建结构的构造函数的名称。结构本身应该是使用 new 运算符以及构造函数本身创建的。您为变量提供要检查的struct引用,该函数将返回具有构造函数名称的字符串或 undefined。
提示 建议使用 is_instanceof 检查结构的构造函数,因为它还允许您使用父构造函数 (即结构的构造函数可能继承自的构造函数) 进行检查。is_instanceof 还允许您直接使用构造函数引用而不是字符串进行检查。
instanceof(struct_id);
参数 | 类型 | 描述 |
---|---|---|
struct | Struct | 要使用的struct引用。 |
在这个例子中,我们必须首先定义将用作我们结构的构造函数。在脚本资源中定义了以下函数:
function init_struct(_a, _b, _c) constructor
{
a = _a;
b = _b;
c = _c;
}
然后可以将此函数与new运算符一起使用,以创建一个结构,并使用设置为函数中使用的参数值的变量来填充它:
mystruct = new init_struct(10, 100, "Hello World");
然后,我们可以得到这样使用的构造函数的名称:
var _name = instanceof(mystruct);
if (is_string(_name))
{
show_debug_message(_name);
}
这会将字符串“init_struct”打印到输出日志中,该日志是其脚本中定义的构造函数的名称。