instanceof

此函数可用于获取用于创建结构的构造函数的名称。结构本身应该是使用 new 运算符以及构造函数本身创建的。您为变量提供要检查的struct引用,该函数将返回具有构造函数名称的字符串或 undefined

提示 建议使用 is_instanceof 检查结构的构造函数,因为它还允许您使用父构造函数 (即结构的构造函数可能继承自的构造函数) 进行检查。is_instanceof 还允许您直接使用构造函数引用而不是字符串进行检查。

用法说明

 

语法:

instanceof(struct_id);

参数类型描述
structStruct要使用的struct引用。

 

返回:

String or undefined

 

扩展示例:

在这个例子中,我们必须首先定义将用作我们结构的构造函数。在脚本资源中定义了以下函数:

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”打印到输出日志中,该日志是其脚本中定义的构造函数的名称。